Работаю мерчиком и имеется несколько разношёрстных таблиц, где надо вводить актуальные цены. Я создал свою базу с артикулами и ценами, которую я распечатываю и бегаю с ней. В этой базе указана вся продукция, а работодателю нужна оформленная по их правилам таблица (даже несколько файлов, а именно для разных магазинов), и лишь с некоторыми позициями.
В прикреплённом примере демонстрируется как это сейчас. Хотелось бы заполнять только свой лист с базой, а через скрипт копировать из него ячейки с актуальными ценами для нужных позиций в отчётности для работодателя.
Пытался активно гуглить, но везде примеры с диапазонами, а мне прям в жёсткую надо задать ячейки. В прикреплённых файлах становится понятно почему так. Ещё надо учесть, что по мере необходимости вносятся новые товары, да и таблица для компании может поменяться в одночасье. В этой связи и хотелось бы именно жёсткую привязку, мне не лень будет перелопатить адреса, благо делается это один раз.
С 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. Другими словами в нём самом скрипт не сохранить.
Пример моей базы и таблиц работодателя приложил к сообщению
Работаю мерчиком и имеется несколько разношёрстных таблиц, где надо вводить актуальные цены. Я создал свою базу с артикулами и ценами, которую я распечатываю и бегаю с ней. В этой базе указана вся продукция, а работодателю нужна оформленная по их правилам таблица (даже несколько файлов, а именно для разных магазинов), и лишь с некоторыми позициями.
В прикреплённом примере демонстрируется как это сейчас. Хотелось бы заполнять только свой лист с базой, а через скрипт копировать из него ячейки с актуальными ценами для нужных позиций в отчётности для работодателя.
Пытался активно гуглить, но везде примеры с диапазонами, а мне прям в жёсткую надо задать ячейки. В прикреплённых файлах становится понятно почему так. Ещё надо учесть, что по мере необходимости вносятся новые товары, да и таблица для компании может поменяться в одночасье. В этой связи и хотелось бы именно жёсткую привязку, мне не лень будет перелопатить адреса, благо делается это один раз.
С 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