|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.03.2014, 08:20 | #1 |
Новичок
Джуниор
Регистрация: 25.02.2014
Сообщений: 2
|
Выборочный импорт exel в exel
Привет всем и прошу помощи.
Появилась у меня тут задачка на VBA, думал разберусь, а ннет, не все так просто(семантика сильно отличается от других языков). Порыскал на форуме и нашел много подобных тем, но вних крайне мало полезного из того, что мне нужно. Задачка: Выборочно импортировать данные из одного xls файла в другой Подробнее с примерами(абстрактно) Есть файл blank.xls, в котором несколько листов. Все листы этого файла фиксированы по длине и ширине, т.е. известны столбцы, которые нужно импортировать. На первом листе мне нужно импортировать столбцы B, D, G, I, на втором C,D,F,J, на третьем листе свои .... Импортировать нужно в существующий файл, который находится в той же директории tmp.xls, файл не перетирать. Перенести данные нужно на первый лист, таким образом, чтобы столбцы B, D, G, I из первого листа файла blank.xls находились в столбцах A,B,C,D, а столбцы из второго листа C,D,F,J находились в F,G,H,I и так далее. Алгоритм более или менее понятен. Мне бы понять как перенести с первого листа столбец в файл tmp (существующий!) и как работать с листами. Существует ли тип array ? Столбцов и листов много, хотелось бы заранее набить массив идентификаторами столбцов, для того, чтобы пробежаться по ним в цикле. |
01.03.2014, 11:16 | #2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Изучайте свойства и методы объектов Range, Worksheet, Workbook.
Записывайте ручные действия макрорекордером (кнопка "запись макроса"), потом смотрите, что получилось. Потом код можно оптимизировать, добавить циклы, условные операторы и т.д. Вот, например, запись копирования столбцов B, D, G, I текущего листа и вставку их на лист другой книги: Код:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
01.03.2014, 12:58 | #3 |
Новичок
Джуниор
Регистрация: 25.02.2014
Сообщений: 2
|
Я даже и не знал, что так можно делать. Спасибо.
Сразу испытал, круто) Заметил, что указывается имя файла, из которого переносятся данные Код:
Код:
Проблемка заключается в том, что я не хочу открывать второй файл (tmp.xls), а макрос ругается, что файл не активен. Как бы мне перенести данные в файл не открывая его ?! Мне нужно записать в файл tmp.xls данные, после чего вызвать макрос tmp.xls из Файл_от_20140301.xls, который на выход даст мне файл txt. |
01.03.2014, 18:25 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
"Не открывая" теоретически можно через ADO, но фактически это АДО его и откроет, и закроет.
Так что проще и нагляднее всё сделать кодом - открыть файл, скопировать в него данные, сохранить/закрыть. Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 01.03.2014 в 19:09. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Импорт данных из интернета в exel | EGORXX87 | Microsoft Office Excel | 2 | 15.12.2013 18:29 |
EXEL | chernisghf | Помощь студентам | 0 | 12.12.2012 22:36 |
exel | timka8812 | Microsoft Office Excel | 2 | 03.11.2011 00:32 |
автоматический импорт txt файлов в exel | andreton | Microsoft Office Excel | 5 | 01.06.2010 01:29 |
EXEL | Artomes | Microsoft Office Excel | 0 | 02.11.2008 23:18 |