Копировать и вставлять из разных книг в мастер-лист - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть одна рабочая тетрадь с 8 листами на страну (например, Франция, Бельгия и т. Д.).Помимо этих листов у меня есть «Mastertab» и «База данных».

Страновые листы создаются одинаково (они имеют одинаковый шаблон).Эти шаблоны сделаны для отслеживания расходов (поэтому, например, во Франции может быть 10 расходов, в Бельгии 3 и в Великобритании 81).

Я хотел бы создать макрос (потому что я думаю, что это невозможно сформула, если я хочу избежать пустых строк), которая будет:

  1. Найти последнюю строку, где есть любые данные / значение в столбце K.
  2. Выбрать все данные (строка, которая будет указана вточка 1 и столбцы BP).
  3. Вставьте этот выбор в Mastertab.
  4. Продолжайте делать 1-3 для других стран / листов, Зная, что данные должны быть вставлены чуть ниже предыдущей (так чтодолжен найти первую пустую строку и вставить туда данные).

Пример: первая строка с данными для каждой страны - 18. Это место, где публикуется первая строка с расходами.Пользователь будет заполнять только данные в столбце K (все остальные столбцы заполнены формулами, vlookups и т. Д.)

Предполагая, что у меня есть 3 расходы для Франции, я хочу, чтобы Excel выбрал B18: P20 и вставил в таблицу.в ячейке B18. *

* Следующая вставка в Mastersheet должна быть из ячейки B21.

Надеюсь, это понятно.:)

Заранее спасибо, Марек

1 Ответ

0 голосов
/ 24 ноября 2018

вы определенно расширили бы ограничения формул Excel, если бы попытались использовать формулы для этого.

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

Я думаю, что самый простой способ сделать это - создать макрос, который создает список мастера с нуля каждый раз, когда вы запускаете макрос, то есть удаляет мастер-лист и заново его воссоздает.Таким образом, вам не нужно иметь дело с реорганизацией основного вывода каждый раз, когда добавляется новая строка.Это потребует много дополнительной логики.

Если вы используете многопользовательскую среду с одновременными обновлениями, этот подход не будет работать, так как вам потребуется дополнительный сервер для обработки сообщений между каждым пользователем.На этом этапе вам лучше не использовать Excel.

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

С очень высокого уровня:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...