Excel 2007 Macro не работает в 2010 году - PullRequest
1 голос
/ 17 февраля 2012

Этот макрос работал нормально до того, как мы обновились до Windows 7 и Excel 2010. Макрос останавливается на Activesheet.paste.Все, что это делает, это открывает файл, копирует данные и вставляет его в первый документ.В конце есть больше кода, чтобы закрыть все открытые документы.Спасибо, Боб

Application.Goto Reference:="R7C14"
Workbooks.Open Filename:="ALSP.xls"
Workbooks("ALSP.xls").Activate
Range("B7:L61").Select
Application.CutCopyMode = False
Selection.Copy
Windows("R4SP.xls").Activate
ActiveSheet.Paste

1 Ответ

1 голос
/ 18 февраля 2012

Использование SELECT и ACTIVATE обременительно, вы должны иметь возможность задавать ссылки на переменные для ваших таблиц и делать команды напрямую без выбора.

Dim ws As Worksheet, wbREF As Workbook

Set ws = ActiveSheet
Set wbREF = Workbooks.Open("ALSP.xls")      'you may want to put the full path here

Range("B7:L61").Copy ws.Range("N7")         'copy to original sheet

wbREF.Close False                           'close the opened workbook, return to ws

Чтобы вставить значения, отделите копию/ paste для разделения команд:

Set wbREF = Workbooks.Open("GASP.xls")      'you may want to put the full path here

Range("B7:L61").Copy 
ws.Range("AL7").PasteSpecial xlPasteValues  'copy to original sheet
wbREF.Close False
...