Вопрос по макросу в exl.

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
Gerek
Сообщения: 20
Зарегистрирован: 02 июл 2008, 11:30

Есть такой макрос:

Код: Выделить всё

Sub Макрос2()
    Range("B2").Select
    Windows("Nikolaev.xls").Activate
    Range("A2:BA1000").Select
    Selection.Copy
    Windows("General.xls").Activate
    Rows("2:2").Select
    ActiveSheet.Paste
    Range("C3").Select
End Sub
Его задача копировать информацию из книги B в книгу A. На данный момент он работает только при одновременно открытых двух книгах. Подскажите пожалуйста каким образом его можно поправить, чтобы при запуске из книги А он автоматически брал информацию из книги В (даже если она закрыта). Спасибо!
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Думаю будет проще вообще без макросов, используя механизм связи с "внешними данными"
It's a long way to the top if you wanna rock'n'roll
seergy
Сообщения: 109
Зарегистрирован: 25 ноя 2007, 21:31

используя механизм связи с "внешними данными" замучаешься
Используйте типа такого
Sub Макрос2()
'Открываем файл "Nikolaev.xls"
Workbooks.Open Filename:="C:\Nikolaev.xls"
Sheets("....").Select 'Activate
Range("A2:BA1000").Copy
'Переходим в исходный файл
ActiveWindow.ActivateNext
Rows("2:2").Select
ActiveSheet.Paste
Range("C3").Select
'Закрываем файл "Nikolaev.xls"
Windows("Nikolaev.xls").Activate
ActiveWindow.Close
'лучше скрыть процедуру открывания и закрывания
End Sub
Ответить