Я делаю защищенный от ошибок рабочий лист для сотрудников в моем регионе.Наша система должна быть представлена через лист Excel.Наряду с другими проверками, которые я уже добавил, мне нужно преобразовать даты рождения в формат YYYYMMDD
в виде строки / числа, потому что добавление их в Excel с помощью пользовательских форматов приводит к ошибке в системе при загрузке (я думаю, она по-прежнему считывает датыкак ДД / ММ / ГГГГ).
Поэтому я пытаюсь использовать Worksheet_Change()
, поэтому, когда пользователь вводит любую дату как DD/MM/YYYY
, она автоматически преобразуется в требуемый результат.
If Not Intersect(Target, Columns("G")) Is Nothing Then
On Error Resume Next
fecnacadd = Target.Address
fecnac = Target.Value
fecnacadd = Format(fecnac, "yyyymmdd")
Columns("G").NumberFormat = "General"
End If
Этот код странным образом работает при отладке (показывает «ГГГГММДД» правильно), но при запуске его как есть, получает макрос в цикле (?) На 10 секунд и удаляет содержимое в ячейке.
Любые подсказки в моем коде приветствуются.