2015-08-20 3 views
0

У меня есть код ниже. Я получаю ошибку 400, когда пытаюсь запустить ее.Избегайте использования activesheet

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 активным, активировав его?

+0

Вместо активации листа вы должны просто использовать «С», – Cyyrils

ответ

1

Вы можете использовать TransitFile.Sheets("General").Columns("A:B").Copy без предварительной активации листа. Или вы могли бы использовать With для ссылки на правильную книгу.

Смежные вопросы