Excel宏将某些列从一个工作簿复制到另一个工作簿

时间:2012-12-06 23:54:40

标签: excel excel-vba vba

这是我第一次尝试编写VBA代码。我模仿我在stackoverflow找到的东西。

我想将某些列(A,B和E)从一个工作簿复制到另一个工作簿,还要更改某些行的字体和颜色,并编辑某些单元格中的文本(用“Group”一词替换长短语)

这是我没有更改的代码:

Sub CopyColumnToWorkbook()
Dim sourceColumn As Range, targetColumn As Range

Set sourceColumn = Workbooks("Source").Worksheets("Sheet1").Columns("A")
Set targetColumn = Workbooks("Target").Worksheets("Sheet1").Columns("A")

sourceColumn.Copy Destination:=targetColumn
End Sub

我收到运行时错误9,下面的行突出显示:

Set sourceColumn = Workbooks("Source").Worksheets("Sheet1").Columns("A")

我正在附加下面的Source和Target文件,因为我希望它们在成功运行结束时看起来像。

Source File

Target File

1 个答案:

答案 0 :(得分:7)

您引用不存在的工作表。将其更改为使用其索引引用工作簿中的第一个工作表。您也没有在文件中包含扩展名,因此它也会在工作簿对象上失败。

Sub CopyColumnToWorkbook()
Dim sourceColumn As Range, targetColumn As Range

Set sourceColumn = Workbooks("Source.xlsm").Worksheets(1).Columns("A")
Set targetColumn = Workbooks("Target.xlsm").Worksheets(1).Columns("A")

sourceColumn.Copy Destination:=targetColumn
End Sub