我为每个产品系列设置了一个命令按钮。总的来说,我在Sheet 1上有20多个按钮。
如果我点击数量超过1的任何一个,产品名称将被复制并粘贴到订单列表表。
我尝试使用偏移将其粘贴到订单列表中A2的A行下的空白列。
然而,在我点击另一个按钮后,它只替换A2而不是粘贴到A3。
前两个按钮的代码详细信息如下(所有20个按钮应该是相同的代码,因为它们不会按顺序点击。只要它拿起空白列,它应该没问题):
Private Sub CommandButton1_Click()
Dim wb As Workbook
Dim wsSource As Worksheet
Dim wsDest As Worksheet
Set wb = ActiveWorkbook
Set wsSource = wb.Sheets("Sheet1")
Set wsDest = wb.Sheets("Order List")
'Stop if report not filled in fully
If wsSource.Range("G28").Value < 1 Then
MsgBox "Please Amend Quantity"
Exit Sub
End If
wsSource.Range("B28").Copy wsDest.Range("A1").Offset(1,0)
wsDest.Range("A:D").EntireColumn.AutoFit
End Sub
Private Sub CommandButton2_Click()
Dim wb As Workbook
Dim wsSource As Worksheet
Dim wsDest As Worksheet
Set wb = ActiveWorkbook
Set wsSource = wb.Sheets("Sheet1")
Set wsDest = wb.Sheets("Order List")
'Stop if report not filled in fully
If wsSource.Range("G28").Value < 1 Then
MsgBox "Please Amend Quantity"
Exit Sub
End If
wsSource.Range("B28").Copy wsDest.Range("A1").Offset(1,0)
wsDest.Range("A:D").EntireColumn.AutoFit
End Sub
请告诉我。非常感谢
答案 0 :(得分:1)
使用此代替,它将找到最后使用的单元格,然后向下移动到下一个单元格(您的代码永远不会更新目标单元格,它固定在A2)。这些按钮是什么类型的 - 你应该能够避免重复你的代码20次。
wsSource.Range("B28").Copy wsDest.Range("A" & rows.count).end(xlup).Offset(1,0)