Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.11.2008, 15:17   #1
torus
Новичок
Джуниор
 
Регистрация: 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.: Макрорекордер записывает макрос немного не так как хотел бы,
т.к. в файле заявки может быть разное количество заполненных строк и необходимо сделать так, чтобы в том файле, в ячейки которого копируем значения не изменялся формат ячеек.

Спасибо за ответы.
Вложения
Тип файла: zip Import.zip (36.8 Кб, 51 просмотров)
torus вне форума
Старый 09.11.2008, 00:15   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

В Вашем случае сложность заключается в том, что в предложенных Вами в качестве примера файлах - file1.xls и file2.xls - одни и те же данные хранятся в различных столбцах.
Если программа, генерирующая эти файлы, постоянно пишет данные в разные столбцы, то придётся усложнять код, анализируя, что и где там записано.

А пока попробуйте такой вариант (см. вложение)

PS: Из-за вышеописанной проблемы код корректно работает только с файлом file1.xls
Определитесь, в каком формате (форматах) будет большиство из исходных файлов (нужен файл - образец, в качестве которого я сейчас пока выбрал file1.xls), после чего подкорректируем код программы.
Вложения
Тип файла: rar Import.rar (36.0 Кб, 204 просмотров)
EducatedFool вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запомнить значения ячеек 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