Если вы возьмете код, который отображается в вашем сообщении (не отображенный код, а действительные символы в сообщении / отредактируйте вопрос, чтобы попасть туда), скопируйте код оттуда и вставьте его в VBE, Private Sub Worksheet_Change
(плюс странный завершающий пробел) считается одним словом (Ctrl + ArrowLeft или Ctrl + ArrowRight, перепрыгивая весь путь без всяких остановок, подтверждает это)
Это по-королевски все запутывает, и вы становитесь страннымошибки компилятора и синтаксиса:
VBA ожидает, что токены будут разделены кодом ASCII 32 (простой старый символ пробела), но между Private
, Sub
, Worksheet_Change
, и открытие (
(и каждый пробел после этого) выглядит как пробел, но на самом деле это специальный символ, часто встречающийся на веб-сайтах и в блогах (например, для правильного переноса блоков кода). неразрывный пробел (сущность HTML
).
Не копируйте и не вставляйте код напрямую с веб-сайтов ( особенно сообщений в блоге; переполнение стекаобычно едаже если автор сообщения специально не посадил неразрывные пробелы). Введите его сами.
На самом деле, когда речь идет об обработчиках событий, даже не вводите их сами - позвольте VBE создать для вас заглушку процедуры, чтобы вы гарантированно имели правильную подпись. Просто выберите Worksheet
в раскрывающемся меню слева в верхней части панели кода, затем выберите Change
в раскрывающемся меню справа - обработчик Private Sub Worksheet_Change
будет добавлен автоматически.