Событие Worksheet_Change для постоянного идентификатора строки - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь написать событие Worksheet_Change, которое вставляет постоянный идентификатор в каждую строку, добавляемую на лист.

Я знаю, что "постоянный идентификатор" = первичный ключ и что Excel не поддерживает первичный ключи. Я знаю, что Excel не является БД, но мы используем Excel для групповой отчетности, потому что это легко для пользователей с низким уровнем квалификации. Доступ, например, не является опцией.

Пользователи должны иметь возможность вставлять и удалять строки, что означает, что номера строк могут изменяться. Это означает:

  • Я не могу использовать автоматическую нумерацию или формулу для генерации идентификатора, потому что, когда последовательность строк изменяется (то есть вставленная / удаленная строка выше), генерируемый идентификатор меняется.

  • Конкатенация, а затем копирование и вставка в отдельный столбец не будет работать, потому что мне нужно было бы Concatenate-Copy-Paste для подмножества строк в каждой книге каждую неделю / по запросу .

Похоже, лучшее решение - это сгенерировать GUID и добавить его к каждой вставленной строке, используя событие Worksheet_Change.

Я не могу найти пример этого и может быть, GUID - это излишне, но все это выше моих навыков VBA. :-(

Может кто-нибудь может указать на решение?

...