[英]Copy the cell value to another cell if
我在 Excel 中編寫 VBA,我有一個單元格,里面有一些數字,我有一個“購物車”范圍,當我點擊按鈕時,我想將單元格值復制到“購物車”,但如果第一個購物車中的一行已經滿了,它應該移動到下一行並執行此操作,直到找到一行空的並將其粘貼在那里。
我嘗試這樣做但遇到了問題
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
如果您在Sub
的開頭將Dim nextcell as Range
定義Dim nextcell as Range
,您需要做的就是:
nextcell.Select
但是,您可以使用下面的“Cleaner”版本,而無需使用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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.