2017-06-04 177 views
0

所以我有一個單元格中有一些數字,我有一個「購物車」範圍,當我單擊按鈕時我想將單元格值複製到「購物車」但如果購物車中的第一行已滿,它應該移動到下一行並執行此操作,直到找到一行將其清空並將其粘貼到那裏。複製單元格值到另一個單元格如果

我試圖這樣做,但有一個問題

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 

回答

1

如果您需要定義Dim nextcell as Range在您的Sub開頭,您所需要做的就是:

nextcell.Select 

但是,你可以使用 「清潔」 的版本下面,而不需要使用SelectSelection

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 
+0

它的工作原理,但只是爲2倍。第一次粘貼到單元格J2中,第二次粘貼到下一行但點擊按鈕時不做任何操作,它會將B1複製。 – Venoox

+0

@Venoox你想在2日,3日等發生什麼事情?你想粘貼到哪裏?在列J的第一個空行? –

+0

是的,就是那個 – Venoox

相關問題