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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос для добавления строк в каждом exel-файле в папке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для добавления строк в каждом exel-файле в папке (Макросы/Sub)
Макрос для добавления строк в каждом exel-файле в папке
Gnomoiad Дата: Понедельник, 06.07.2015, 16:24 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Добрый день,

Суть проблемы:Есть большое количество прайс листов для разных филиалов, в каждом файле однотипные таблицы(во вложении пример) со списком городов и ценами(города стоят в алфавитном порядке, количество может отличаться). Периодически приходится добавлять новые города в каждый прайслист, это крайне накладно по времени. Вопрос можно ли написать макрос, который бы при запуске запрашивал название нового города и добавлял бы в нужное место(чтобы сохранялся алфавитный порядок) строку для этого города во все прайс-листы находящиеся в указанной папке? И вопрос номер два, можно ли сделать так, чтобы макрос помещал в эту строчку формулу, которая бы подтягивала по названию цены?

Помогите ради бога, а то я с этими прайсами с ума сойду. hands
К сообщению приложен файл: 2713164.xls (48.5 Kb)
 
Ответить
СообщениеДобрый день,

Суть проблемы:Есть большое количество прайс листов для разных филиалов, в каждом файле однотипные таблицы(во вложении пример) со списком городов и ценами(города стоят в алфавитном порядке, количество может отличаться). Периодически приходится добавлять новые города в каждый прайслист, это крайне накладно по времени. Вопрос можно ли написать макрос, который бы при запуске запрашивал название нового города и добавлял бы в нужное место(чтобы сохранялся алфавитный порядок) строку для этого города во все прайс-листы находящиеся в указанной папке? И вопрос номер два, можно ли сделать так, чтобы макрос помещал в эту строчку формулу, которая бы подтягивала по названию цены?

Помогите ради бога, а то я с этими прайсами с ума сойду. hands

Автор - Gnomoiad
Дата добавления - 06.07.2015 в 16:24
Kuzmich Дата: Понедельник, 06.07.2015, 21:27 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 712
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Цитата
города стоят в алфавитном порядке, количество может отличаться

Название нового города может уже быть в каком-либо файле, либо надо проверять его наличие в каждом файле?
Как формулу поместить в строчку? Формулу помещают в ячейку. Какую формулу и куда надо поместить?
 
Ответить
Сообщение
Цитата
города стоят в алфавитном порядке, количество может отличаться

Название нового города может уже быть в каком-либо файле, либо надо проверять его наличие в каждом файле?
Как формулу поместить в строчку? Формулу помещают в ячейку. Какую формулу и куда надо поместить?

Автор - Kuzmich
Дата добавления - 06.07.2015 в 21:27
Gnomoiad Дата: Вторник, 07.07.2015, 10:22 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Kuzmich,
Нет, нового города в файлах быть не может.

Как формулу поместить в строчку? Формулу помещают в ячейку. Какую формулу и куда надо поместить?


Да, с этим я погорячился.
Во вложении добавил формулу в впервой строке таблицы.
К сообщению приложен файл: 6873094.xls (49.5 Kb)
 
Ответить
СообщениеKuzmich,
Нет, нового города в файлах быть не может.

Как формулу поместить в строчку? Формулу помещают в ячейку. Какую формулу и куда надо поместить?


Да, с этим я погорячился.
Во вложении добавил формулу в впервой строке таблицы.

Автор - Gnomoiad
Дата добавления - 07.07.2015 в 10:22
Kuzmich Дата: Вторник, 07.07.2015, 12:05 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 712
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Открываете по очереди каждый файл, добавляете новый город в конец столбца А,
затем используйте метод объекта Range.FillDown, чтобы перенести форматирование
с верхней строки, потом весь диапазон сортируете по алфавиту. Как-то так.
 
Ответить
СообщениеОткрываете по очереди каждый файл, добавляете новый город в конец столбца А,
затем используйте метод объекта Range.FillDown, чтобы перенести форматирование
с верхней строки, потом весь диапазон сортируете по алфавиту. Как-то так.

Автор - Kuzmich
Дата добавления - 07.07.2015 в 12:05
miver Дата: Вторник, 07.07.2015, 14:39 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
Gnomoiad, Приведу реализацию перебора всей папки. Для примера положите Ваш файл "6873094.xls" в папку "C:\11\" и нажмите кнопку
К сообщению приложен файл: 6873094_m.xlsm (19.8 Kb)
 
Ответить
СообщениеGnomoiad, Приведу реализацию перебора всей папки. Для примера положите Ваш файл "6873094.xls" в папку "C:\11\" и нажмите кнопку

Автор - miver
Дата добавления - 07.07.2015 в 14:39
Gnomoiad Дата: Вторник, 07.07.2015, 16:29 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Gnomoiad, Приведу реализацию перебора всей папки. Для примера положите Ваш файл "6873094.xls" в папку "C:\11\" и нажмите кнопку


Спасибо!!! Надо конечно потестить, но вроде как строки вставляет отлично. Отдельная строка для формулы, очень удобно, я как-то об этом даже не подумал.
Но есть два "но":
1.Там три разные формулы было для каждого блока таблицы своя. 1 простая и две формулы массивов
2.В формуле стоит относительная ссылка на первую ячейку в столбце, когда ее вручную вставляешь она ссылается на первую ячейку во вставляемой строке, а когда ее вставляет макрос она везде А20.
Вот это бы допилить и совсем хорошо было бы.))
В любом случае спасибо огромное, надо все-таки учить VBA вещь отличная!
 
Ответить
Сообщение
Gnomoiad, Приведу реализацию перебора всей папки. Для примера положите Ваш файл "6873094.xls" в папку "C:\11\" и нажмите кнопку


Спасибо!!! Надо конечно потестить, но вроде как строки вставляет отлично. Отдельная строка для формулы, очень удобно, я как-то об этом даже не подумал.
Но есть два "но":
1.Там три разные формулы было для каждого блока таблицы своя. 1 простая и две формулы массивов
2.В формуле стоит относительная ссылка на первую ячейку в столбце, когда ее вручную вставляешь она ссылается на первую ячейку во вставляемой строке, а когда ее вставляет макрос она везде А20.
Вот это бы допилить и совсем хорошо было бы.))
В любом случае спасибо огромное, надо все-таки учить VBA вещь отличная!

Автор - Gnomoiad
Дата добавления - 07.07.2015 в 16:29
miver Дата: Среда, 08.07.2015, 10:18 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
1.Там три разные формулы было для каждого блока таблицы своя. 1 простая и две формулы массивов
Могу предложить несколько вариантов:

  • Копирование ячеек с первой строки прайса
  • Вставка формул в не в поле ячейки .Formula, а в .FormulaR1C1 для относительных формул и .FormulaArray для массива соответственно
  • Вставить в файле прайса данные в формат Таблицы Excel (опция доступна с Excel 2007). В ней прописываешь формулу и она автоматом проставляется по всему столбику таблицы
 
Ответить
Сообщение
1.Там три разные формулы было для каждого блока таблицы своя. 1 простая и две формулы массивов
Могу предложить несколько вариантов:

  • Копирование ячеек с первой строки прайса
  • Вставка формул в не в поле ячейки .Formula, а в .FormulaR1C1 для относительных формул и .FormulaArray для массива соответственно
  • Вставить в файле прайса данные в формат Таблицы Excel (опция доступна с Excel 2007). В ней прописываешь формулу и она автоматом проставляется по всему столбику таблицы

Автор - miver
Дата добавления - 08.07.2015 в 10:18
Gnomoiad Дата: Среда, 08.07.2015, 13:41 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
первый вариант не понял как работает)
третий не подойдёт.
А вот второй кажется то что нужно.


Сообщение отредактировал Manyasha - Пятница, 10.07.2015, 18:44
 
Ответить
Сообщениепервый вариант не понял как работает)
третий не подойдёт.
А вот второй кажется то что нужно.

Автор - Gnomoiad
Дата добавления - 08.07.2015 в 13:41
miver Дата: Среда, 08.07.2015, 16:04 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
первый вариант не понял как работает)

Думаю Вам подойдет больше всего
Логика проще некуда: после вставки строки копируются диапазон "C20:U20" с формулами
К сообщению приложен файл: 4888972.xlsm (18.2 Kb)
 
Ответить
Сообщение
первый вариант не понял как работает)

Думаю Вам подойдет больше всего
Логика проще некуда: после вставки строки копируются диапазон "C20:U20" с формулами

Автор - miver
Дата добавления - 08.07.2015 в 16:04
Gnomoiad Дата: Четверг, 09.07.2015, 17:21 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Думаю Вам подойдет больше всего
Логика проще некуда: после вставки строки копируются диапазон "C20:U20" с формулами


Вот теперь понял. Но вариант с ячейкой для формулы, был лучше, во-первых, потому что частенько формула для нового города должна быть не такая как для всех остальных, а во вторых в "C20:U20" вообще может формулы не быть и тогда совсем плохо будет.
 
Ответить
Сообщение
Думаю Вам подойдет больше всего
Логика проще некуда: после вставки строки копируются диапазон "C20:U20" с формулами


Вот теперь понял. Но вариант с ячейкой для формулы, был лучше, во-первых, потому что частенько формула для нового города должна быть не такая как для всех остальных, а во вторых в "C20:U20" вообще может формулы не быть и тогда совсем плохо будет.

Автор - Gnomoiad
Дата добавления - 09.07.2015 в 17:21
miver Дата: Пятница, 10.07.2015, 11:23 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
Второй вариант
К сообщению приложен файл: 6873094_m3.xlsm (20.1 Kb)
 
Ответить
СообщениеВторой вариант

Автор - miver
Дата добавления - 10.07.2015 в 11:23
Gnomoiad Дата: Пятница, 10.07.2015, 15:03 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Просто волшебно!!!!Спасибо)))))))
[moder]Не нужно цитировать посты целиком.
Цитату удалила.[/moder]


Сообщение отредактировал Manyasha - Пятница, 10.07.2015, 18:45
 
Ответить
СообщениеПросто волшебно!!!!Спасибо)))))))
[moder]Не нужно цитировать посты целиком.
Цитату удалила.[/moder]

Автор - Gnomoiad
Дата добавления - 10.07.2015 в 15:03
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для добавления строк в каждом exel-файле в папке (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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