Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Извлечение данных из одной файла-таблицы и вставка в др. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вопросы по VB, VBS, VB.net » Извлечение данных из одной файла-таблицы и вставка в др.
Извлечение данных из одной файла-таблицы и вставка в др.
NikolayZver Дата: Среда, 06.01.2016, 16:25 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Работаю мерчиком и имеется несколько разношёрстных таблиц, где надо вводить актуальные цены.
Я создал свою базу с артикулами и ценами, которую я распечатываю и бегаю с ней. В этой базе указана вся продукция, а работодателю нужна оформленная по их правилам таблица (даже несколько файлов, а именно для разных магазинов), и лишь с некоторыми позициями.

В прикреплённом примере демонстрируется как это сейчас. Хотелось бы заполнять только свой лист с базой, а через скрипт копировать из него ячейки с актуальными ценами для нужных позиций в отчётности для работодателя.

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

С VBA познакомился только сегодня, пытался отредактировать найденный на просторах сети скрипт-пример, но ничего не получилось :-( Надеюсь на вашу помощь.

Цитата
Sub Импорт()
'Открываем файл с которого нужно скопировать данные
Workbooks.Open Filename:="D:\Данные.xlsx"

'Скопировать нужный диапазон в открывшейся книге на листе 1
Workbooks("Данные.xlsx").Worksheets("Лист1").Range("E14").Copy
Workbooks("Данные.xlsx").Worksheets("Лист1").Range("E9").Copy
Workbooks("Данные.xlsx").Worksheets("Лист1").Range("E10").Copy
'Активируем нужную нам книгу
Workbooks("Книга1.xlsm").Activate

'Выделяем и вставляем скопированные данные в ячейку
ActiveWorkbook.Worksheets("Лист1").Range("D1").Select
ActiveWorkbook.Worksheets("Лист1").Range("D2").Select
ActiveWorkbook.Worksheets("Лист1").Range("D3").Select
ActiveSheet.Paste

'Закрываем книгу откуда мы скопировали данные
Workbooks("Данные.xlsx").Close
End Sub


Да, и фаил базы я подключаю к программе для распечатки штрихов на бумагу (так быстрее всего чекать цены на сканерах в магазинах), а она поддерживает только *.xls. Другими словами в нём самом скрипт не сохранить.

Пример моей базы и таблиц работодателя приложил к сообщению
К сообщению приложен файл: My_Base.xls(26Kb) · __1.xls(42Kb)


Сообщение отредактировал NikolayZver - Среда, 06.01.2016, 18:55
 
Ответить
СообщениеРаботаю мерчиком и имеется несколько разношёрстных таблиц, где надо вводить актуальные цены.
Я создал свою базу с артикулами и ценами, которую я распечатываю и бегаю с ней. В этой базе указана вся продукция, а работодателю нужна оформленная по их правилам таблица (даже несколько файлов, а именно для разных магазинов), и лишь с некоторыми позициями.

В прикреплённом примере демонстрируется как это сейчас. Хотелось бы заполнять только свой лист с базой, а через скрипт копировать из него ячейки с актуальными ценами для нужных позиций в отчётности для работодателя.

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

С VBA познакомился только сегодня, пытался отредактировать найденный на просторах сети скрипт-пример, но ничего не получилось :-( Надеюсь на вашу помощь.

Цитата
Sub Импорт()
'Открываем файл с которого нужно скопировать данные
Workbooks.Open Filename:="D:\Данные.xlsx"

'Скопировать нужный диапазон в открывшейся книге на листе 1
Workbooks("Данные.xlsx").Worksheets("Лист1").Range("E14").Copy
Workbooks("Данные.xlsx").Worksheets("Лист1").Range("E9").Copy
Workbooks("Данные.xlsx").Worksheets("Лист1").Range("E10").Copy
'Активируем нужную нам книгу
Workbooks("Книга1.xlsm").Activate

'Выделяем и вставляем скопированные данные в ячейку
ActiveWorkbook.Worksheets("Лист1").Range("D1").Select
ActiveWorkbook.Worksheets("Лист1").Range("D2").Select
ActiveWorkbook.Worksheets("Лист1").Range("D3").Select
ActiveSheet.Paste

'Закрываем книгу откуда мы скопировали данные
Workbooks("Данные.xlsx").Close
End Sub


Да, и фаил базы я подключаю к программе для распечатки штрихов на бумагу (так быстрее всего чекать цены на сканерах в магазинах), а она поддерживает только *.xls. Другими словами в нём самом скрипт не сохранить.

Пример моей базы и таблиц работодателя приложил к сообщению

Автор - NikolayZver
Дата добавления - 06.01.2016 в 16:25
NikolayZver Дата: Среда, 06.01.2016, 18:56 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
И вот ещё второй вариант отчёта для работодателя. Я его пересохранил, чтобы уменьшить размер, он был в обычном формате xlsx.
К сообщению приложен файл: __2.xlsb(96Kb)


Сообщение отредактировал NikolayZver - Среда, 06.01.2016, 19:00
 
Ответить
СообщениеИ вот ещё второй вариант отчёта для работодателя. Я его пересохранил, чтобы уменьшить размер, он был в обычном формате xlsx.

Автор - NikolayZver
Дата добавления - 06.01.2016 в 18:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вопросы по VB, VBS, VB.net » Извлечение данных из одной файла-таблицы и вставка в др.
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!