复制单元格值到另一个单元格如果
问题描述:
所以我有一个单元格中有一些数字,我有一个“购物车”范围,当我单击按钮时我想将单元格值复制到“购物车”但如果购物车中的第一行已满,它应该移动到下一行并执行此操作,直到找到一行将其清空并将其粘贴到那里。复制单元格值到另一个单元格如果
我试图这样做,但有一个问题
Sub Gumb1_Klikni()
Range("B1").Select
Selection.Copy
Range("J2").Select
If IsEmpty(ActiveCell) Then
Selection.PasteSpecial xlPasteAll
Else
Set nextcell = ActiveCell.Offset(1, 0)
Range(nextcell).Select
ActiveSheet.Paste
End If
End Sub
它给了我错误1004“方法‘范围’对象的‘_Global’失败”在
Range(nextcell).Select
答
如果您需要定义Dim nextcell as Range
在您的Sub
开头,您所需要做的就是:
nextcell.Select
但是,你可以使用 “清洁” 的版本下面,而不需要使用Select
或Selection
:
Option Explicit
Sub Gumb1_Klikni()
Dim nextCell As Range
Range("B1").Copy
If IsEmpty(Range("J2")) Then
Range("J2").PasteSpecial xlPasteAll
Else
Set nextCell = Range("J2").Offset(1, 0)
nextCell.PasteSpecial
End If
End Sub
编辑1: PO澄清后:
Sub Gumb1_Klikni()
Dim LastRow As Long
' get last row with data in column "J"
LastRow = Cells(Rows.Count, "J").End(xlUp).Row
If LastRow < 1 Then LastRow = 1
Range("B1").Copy
Range("J" & LastRow + 1).PasteSpecial xlPasteAll
End Sub
它的工作原理,但只是为2倍。第一次粘贴到单元格J2中,第二次粘贴到下一行但点击按钮时不做任何操作,它会将B1复制。 – Venoox
@Venoox你想在2日,3日等发生什么事情?你想粘贴到哪里?在列J的第一个空行? –
是的,就是那个 – Venoox