Excelmacros将一个工作簿中的列复制到另一个工作簿中

我有一个工作簿:“检查日志logging”。 从我想要复制列“A”的地方粘贴到工作簿中:“unit testing模板”。 在“A”栏中。

我一直在尝试使用下面的代码:

Private Sub CopyColumnsButton_Click() Dim sourceColumn As Range, targetColumn As Range Set sourceColumn = Workbooks("Check for logging.xlsm").Worksheets("Parameters").Columns("A") Set targetColumn = Workbooks("Unit test template.xlsm").Worksheets("Sheet1").Columns("A") sourceColumn.Copy Destination:=targetColumn End Sub 

虽然每次我尝试运行macros时,都会收到一条消息:“运行时错误”9:“下标超出范围”,然后突出显示此行:

 Set targetColumn = Workbooks("Unit test template.xlsm").Worksheets("Sheet1").Columns("A") 

我试图运行macros时,这两个工作簿都是打开的。

如果有人能帮上忙,我会非常感激

“运行时错误”9:下标超出范围“。

大多数情况下无法在工作簿中find两个“unit testingtemplate.xlsm”或“Sheet1”之一。

工作簿问题
1.检查文件名是否为“Unit test template.xls x ”(不是.xls m
2.检查文件“Unit test template.xlsm”是否在与“检查logging.xlsm”相同的会话中打开(如果Ctrl + Tab不带您到下一个工作簿,这意味着它们打开两个不同的Excel应用程序会话)
3.文件名稍微偏离。

工作表问题
1.检查“Sheet1”是否被删除。 所以它实际上可以是“Sheet2”等…