Я пытаюсь написать событие Worksheet_Change, которое вставляет постоянный идентификатор в каждую строку, добавляемую на лист.
Я знаю, что "постоянный идентификатор" = первичный ключ и что Excel не поддерживает первичный ключи. Я знаю, что Excel не является БД, но мы используем Excel для групповой отчетности, потому что это легко для пользователей с низким уровнем квалификации. Доступ, например, не является опцией.
Пользователи должны иметь возможность вставлять и удалять строки, что означает, что номера строк могут изменяться. Это означает:
Я не могу использовать автоматическую нумерацию или формулу для генерации идентификатора, потому что, когда последовательность строк изменяется (то есть вставленная / удаленная строка выше), генерируемый идентификатор меняется.
Конкатенация, а затем копирование и вставка в отдельный столбец не будет работать, потому что мне нужно было бы Concatenate-Copy-Paste для подмножества строк в каждой книге каждую неделю / по запросу .
Похоже, лучшее решение - это сгенерировать GUID и добавить его к каждой вставленной строке, используя событие Worksheet_Change.
Я не могу найти пример этого и может быть, GUID - это излишне, но все это выше моих навыков VBA. :-(
Может кто-нибудь может указать на решение?