![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Red_Garry |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Продвинутые Сообщений: 7 Регистрация: 12.3.2010 Город: Харьков Украина ![]() |
Что здесь неправильно:
Dim d As Range Dim c As Range d = Workbooks("d:\Книга1.xls").Worksheets("Лист1").Range("A1:B10") c = Workbooks("d:\Книга2.xls").Worksheets("Лист1").Range("A1:B10") c = d.Value При выполнении этого куска кода выдаётся ошибка: Run-time error '9': Subscript out of range т.е. есть необходимость копирования данных из диапазона Книга1 в аналогичный диапазон Книга2. Обе книги открыты. Подскажите, пожалуйста. |
Vahappaday |
![]()
Сообщение
#2
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
У меня работает вот так:
Код Dim d As Range Dim c As Range Set d = Workbooks("Книга1.xlsx").Worksheets("Лист1").Range("A1:B10") Set c = Workbooks("Книга2.xlsx").Worksheets("Лист1").Range("A1:B10") c.Value = d.Value xlsx - не стал пробовать с книгами старого формата, надеюсь, будет работать Set - корректное присвоение ссылки на объект Почитать можно тут http://msdn.microsoft.com/en-us/library/aa...28VS.60%29.aspx Абсолютные пути не поддерживаются, не даром Excel начинает ругаться, когда открываются две книги с разными именами из разных мест, так что используем какой-то другой метод, имя книги или, как я сделал тут, имя файла с книгой без пути. Именно из-за этого выскакивала Run-Time Error '9'. ну... и c.Value тоже надо было не забыть |
Red_Garry |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Продвинутые Сообщений: 7 Регистрация: 12.3.2010 Город: Харьков Украина ![]() |
Спасибо! Ваш вариант работает! Работает и с форматом xls
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 28.5.2025, 12:44 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru