![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 25.02.2012
Сообщений: 40
|
![]()
Здравствуйте. У меня возникли следующие вопросы.
1.Существует первая книга test.xls. Существует вторая книга sum.xls. Пишу макрос во второй книге, он должен открывать первую копировать информацию с разных ячеей, например A5:G13 и клетку S5 например. Как я делаю сейчас Открыл книгу test Сделал её активной Выделил нужный диапазон Скопировал Сделал активной книгу sum выделил нужный диапазон вставил и плюс ещё один круг для второй ячейки например, то есть снова делаю активной первую книгу, потом вторую. Можно ли скопировать что мне нужно за одну итерацию ? Подскажите пожалуйста как. 2. Подскажите как корректно закрыть вспомогательный файл test.xls в макросе sum.xls, у меня в итоге закрываются оба файла. Спасибо |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]() Код:
Если Вам нужно всего лишь взять пару диапазонов из другого файла в любую (не обязательно активную) книгу - можно указать коду куда и что нужно скопировать без всяких активаций. Другой вариант - занести в ячейки формулы, извлекающие нужные данные (ведь известно, откуда нужно их брать), затем заменить формулы на полученные значения.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 25.02.2012 в 19:36. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 25.02.2012
Сообщений: 40
|
![]()
Спасибо за столь подробный ответ, но я не очень понял. Как например с помощью этой функции скопировать приведённый в примере выше прямоугольный диапазон и плюс ту ячейку сразу?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]() Код:
![]()
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 25.02.2012
Сообщений: 40
|
![]()
То есть в итоге такая запись будет корректна:
Sub automation() FilePath = "C:\Documents and Settings\Sasha\Рабочий стол\March\PCh_test.xls" Filename = "PCh_test.xls" Workbooks.Open FilePath Workbooks(Filename).Activate ThisWorkbook.Sheets(1).[A5:G13] = .Sheets(1).[A5:G13] ThisWorkbook.Sheets(1).[S5] = .Sheets(1).[S5] Workbooks(PCh_test.xls).Close SaveChanges:=False End Sub |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Нет, не будет.
Попробуйте так (не проверял): Код:
Код:
Но это будут копироваться только данные!
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 25.02.2012 в 20:08. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 25.02.2012
Сообщений: 40
|
![]()
Спасибо, но почему-то не работает и с исправлениями из постскриптума (
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
У меня работает.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 25.02.2012
Сообщений: 40
|
![]()
Посмотрите пожалуйста, я прикрепил два файла. Экзампл это мэйн, в нём макро без пароля. Как вы и написали. Но почему-то не работает. Второй файлик открывается и закрывается и всё
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Sheets(1) - это первый лист файла!
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Книгами по C\C++ | MsWindows | Общие вопросы C/C++ | 4 | 08.06.2011 19:22 |
Переключение между книгами | stas77 | Microsoft Office Excel | 5 | 03.11.2009 19:00 |
Работа с двумя книгами | Sotos | Microsoft Office Excel | 2 | 10.02.2009 12:30 |
Работа с двумя книгами | tae1980 | Microsoft Office Excel | 10 | 10.02.2009 02:49 |
работа с двумя книгами | Реланиум | Microsoft Office Excel | 2 | 23.11.2006 16:37 |