Вы можете использовать Option Compare Text
в разделе объявлений (вверху) вашего модуля, чтобы позволить сравнениям всего модуля без учета регистра.
Хотя код в подпрограмме "MyCompare" идентичених исход различен:
Sub MyCompare
Debug.print "a" = "A"
' Prints False
End Sub
Option Compare Text
Sub MyCompare
Debug.Print "a" = "A"
' Prints True
End Sub
Но в любом случае, давайте перейдем к вашей актуальной проблеме. Именно с этой строкой в вашем коде:
Application.EnableEvents = False
Обратите внимание на причину, по которой ваш код работал в первый раз, потому что вы захватили событие Worksheet_Change
. Но теперь вы просто отключили события в этом коде и больше никогда не включали его, поэтому вы больше не сможете запускать подпрограмму Worksheet_Change
.
Просто обязательно включите ее перед выходом из кода,Кроме того, было бы разумно обрабатывать ваши ошибки таким образом, чтобы они включали события, а не преждевременно останавливали ваш код, что могло бы их отключить.
Я обычно включаю события без запуска Sub, используяокно отладки. Нажмите Ctrl + G в VBE, чтобы открыть это окно, затем в окне просто введите Application.EnableEvents = True
и нажмите Return , и вы просто измените это свойство.