我正在尝试逐张复制多张图片中的数据并将其粘贴到另一张图纸上。这是我的代码如下。但是,它显示"运行时错误1004:选择Range类的方法失败"。
Private Sub CommandButton1_Click()
'Stop if report not filled in fully
If Range("G28") < "1" Then
MsgBox ("Please Amend Quantity")
End If
If Range("G28") >= "1" Then
Range("B28").Select
Selection.Copy
Sheets("Order List").Range("A1").Offset(1, 0).Select
ActiveSheet.Paste
End If
Sheets("Order List").Columns("A:D").AutoFit
End Sub
代码:&#34;表格(&#34;订单列表&#34;)。范围(&#34; A1&#34;)。偏移(1,0)。选择&#34;突出显示错误。我试图让它从Order List表中的A1中选择A行中的空白列,并将当前表下B28的值粘贴到它。请给我一些建议。非常感谢
答案 0 :(得分:1)
请勿使用.Select或.Activate。这就是造成你问题的原因。请参阅此说明,了解如何避免它以及原因:How to avoid using Select in Excel VBA
以下是适用于您的代码的更新版本:
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 to correct source worksheet name
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("A2")
wsDest.Range("A:D").EntireColumn.AutoFit
End Sub