Подтвердить что ты не робот

Как восстановить случай по умолчанию переменной в VBA (Excel 2010)?

В какой-то момент я случайно назвал переменную range (все в нижнем регистре), и с тех пор редактор Visual Basic for Applications отказывается использовать range (Pascal-cased); он автоматически исправит его в нижнем регистре. Как я могу reset его "мозг" забыть о моей прошлой трансгрессии?

ПРИМЕЧАНИЕ. Я пробовал делать глобальную замену, но в тот момент, когда я редактирую какую-либо одну строку, она снова исправляется.

Очевидно, что это очень незначительная, косметическая проблема, но, наблюдая за тем, как R хромает каждый раз, когда я печатаю range, вызывает раздражение.

4b9b3361

Ответ 1

Вам нужно изменить имя переменной в строке объявления (например, оператор Dim) где-нибудь (в любом месте, на самом деле).

Это одна из самых раздражающих "функций" VBA IDE (как будто контроль версий уже не был достаточно сложным с VBA, постоянный смену меня сбивает меня с ума). Переменные имеют свой случай, измененный глобально в среде VBA, независимо от фактической области переменной.. VBA IDE, похоже, использует подход к самым последним объявлениям.

Обычно все, что вам нужно сделать, это просто обновить случай в строке объявления где-то, но VBA может быть упрямым. Я еще не взломал код полностью.

Примечание. Как отмечает @Scorchio в комментариях ниже, случай переменной изменяется в глобальном масштабе в текущем проекте; другие проекты, которые могут быть открыты в среде VBA IDE (например, другие книги при работе в Excel), не затрагиваются.

Ответ 2

Последнее объявление во времени выигрывает.

  • Перейдите в первую строку и введите Dim Range As String
  • Переход к следующей строке
  • Вернитесь назад и удалите Dim Range As String