![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 22.09.2008
Сообщений: 1
|
![]()
Доброго времени суток!
Есть задача для автоматизации труда, которую не могу решить самостоятельно. Кто знает помогите пожалуйста. Необходимо произвести копирование значения нескольких ячеек в строке, например, D4, E4, F4, G4, H4, J4, O4 одного файла, который сохранён и закрыт в другой открытый файл, в ячейки B11, C11, D11, E11, F11, I11 соответственно. С условием при проверке, если в D3 не пусто, то копировать, если пусто - не копировать , выдать сообщение об ошибке. Для открытия импортируемого файла использую кнопку с макросом, в котором есть строка LoadFileName = Application.GetOpenFilename("Micros oftExel(*.xls), *.xls") Workbooks.Open Filename:="D:\Work\file.xls" Далее необходимо в первом файле находить значения в таблицах (может быть несколько таблиц) и если значение в ячейке не пусто и не равно заголовку столбца, то копировать его в соответствующую ячейку другого файла.Наверное нужно сделать цикл по строкам, чтобы копировались все заполненные строки. Во вложении есть исходный файл сформированный определённой программой (file1.xls, file2.xls - два для примера какие они могут быть) и файл заявки (Заявка на сп.xls), в который хотел бы вносить данные. Далее не знаю как написать код, т.к. не знаю синтаксиса языка. ![]() P.S.: Макрорекордер записывает макрос немного не так как хотел бы, т.к. в файле заявки может быть разное количество заполненных строк и необходимо сделать так, чтобы в том файле, в ячейки которого копируем значения не изменялся формат ячеек. Спасибо за ответы. |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
В Вашем случае сложность заключается в том, что в предложенных Вами в качестве примера файлах - file1.xls и file2.xls - одни и те же данные хранятся в различных столбцах.
Если программа, генерирующая эти файлы, постоянно пишет данные в разные столбцы, то придётся усложнять код, анализируя, что и где там записано. А пока попробуйте такой вариант (см. вложение) PS: Из-за вышеописанной проблемы код корректно работает только с файлом file1.xls Определитесь, в каком формате (форматах) будет большиство из исходных файлов (нужен файл - образец, в качестве которого я сейчас пока выбрал file1.xls), после чего подкорректируем код программы. |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запомнить значения ячеек dbgrid | unit-85 | Помощь студентам | 4 | 22.10.2008 12:04 |
хелп с макросом | Aivar | Microsoft Office Word | 8 | 28.09.2008 02:10 |
Помогите с макросом | SoFuWa | Microsoft Office Excel | 7 | 15.08.2008 15:26 |
Копировать данные из разных ячеек по нескольким листам в один лист | Dorvir | Microsoft Office Excel | 2 | 11.06.2008 10:10 |