Нужно ли хранить одну и ту же запись на 2 листах?
Если вы хотите видеть только ПК или ноутбуки одновременно, вы всегда можете использовать фильтр.
Что если пользователь обновляет запись после ввода, а что если пользователь выполняет редактирование не на основном листе, а на листе Clone_Laptop?Это приведет к всевозможным путаницам, если вы не обновите оба способа, то есть
для каждого и каждого изменения в любом из листов (Master, Clone_PC, Clone_Laptop), вы должны скопировать всю запись на другой лист, чтобы сохранить листыв синхронизации, что означает, что вы должны
- найти запись в целевом листе по уникальному ключу (у вас есть такой ??)
- , если найден, заменить текущую целевую строку источникомстрока
- если не найдена, скопируйте исходную строку в первую пустую целевую строку
Поскольку такая подпрограмма, если она написана правильно, может действовать в обоих направлениях, вы определенно поместите ее в отдельную строку.модуля и вызовите его из процедуры события Worksheet_Change()
с каждого листа, передавая параметры строки источника (Target.EntireRow
) и листа назначения.
Подсказка: Обратите внимание на правильную абстракциютвоя проблема.Скажем - если вы создаете одну дополнительную таблицу, содержащую список категорий вместе с названием листа, вы можете свободно определить, какая категория должна перейти на какой лист, вы можете назначить 2 или более категорий одному листу и т. Д., И у вас естьхороший список для проверки категорий в основном листе.Наконец, для каждого нового листа, который вы можете создать позже для новых категорий, будет добавлена 1 строка кода (вызов подпрограммы Sync с «MasterSheet» в качестве целевого параметра)