避免使用活动表

时间:2015-08-20 14:34:46

标签: excel vba excel-vba

我有以下代码。我尝试运行时遇到400错误。

Sub sbInsertingColumns()

Dim NumRows As Long
Dim Transit As Worksheet

Set Milestone = ActiveWorkbook
Milestone.Activate

Set TransitFile = Workbooks.Open("Y:\File.xlsx")
TransitFile.Sheets("General").Activate
Columns("A:B").Copy
End Sub

如果我改变

,代码将有效
  Columns("A:B").Copy

ActiveSheet.Columns("A:B").Copy

为什么?我以为我已经通过激活TransitFile中的General表单了吗?

1 个答案:

答案 0 :(得分:1)

您可以使用TransitFile.Sheets("General").Columns("A:B").Copy而无需事先激活工作表。或者您可以使用With来引用正确的工作簿。