尝试从多个工作表逐一复制数据并粘贴到不同的工作表。

我试图从多个工作表逐一复制数据,并将其粘贴到不同的工作表。 这是我的代码如下。 但是,它显示“运行时错误1004:select范围类失败的方法”。

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 

代码:“表格(”订单列表“)。范围(”A1“)。偏移(1,0)。select”是突出显示的错误。 我正在尝试让它从订单列表工作表A1中的A1行中select空白列,并将当前工作表下B28的值粘贴到它。 请给我一些build议。 非常感谢

不要使用.Select或.Activate。 这是什么导致你的问题。 看到这个解释如何避免它,为什么: 如何避免在Excel VBA中使用select

这是你的代码的更新版本应该为你工作:

 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