Время от времени код автокорректируется в строчные буквы, когда кажется, что это не должно - PullRequest
1 голос
/ 20 мая 2019

Иногда VBA автоматически исправляет код, который я написал, заглавными и строчными буквами. Похоже, это чаще всего случается с буквами C и R, хотя в очень специфических обстоятельствах.

Например, VBA любит автозамену от [C1].Value до [c1].Value, в то время как .Row часто автоматически корректируется до .row. Это две фразы, которые я часто использовал в проекте на данный момент, и они постоянно меняются.

Однако ввод .Count, например, не приводит к исправлению. Что касается R, боюсь, я не могу придумать эквивалентный пример ...

Есть ли четкая причина, почему VBA делает это? Эти результаты, похоже, никогда не влияют на мои результаты, хотя мне интересно, есть ли ситуации, когда между .Row и .row.

1 Ответ

1 голос
/ 20 мая 2019

По правде говоря, это не имеет значения, , потому что не учитывает регистр .

  • То есть expression.Row и expression.row оцениваются одинаково

  • Что касается того, почему, как другие отмечали в комментариях, это, скорее всего, потому, что вы использовали переменную / процедуру / объект / модуль / класс / пользовательскую форму с тем же именем (например, row, но в нижнем регистре) - что само по себе не является лучшей практикой программирования и его следует избегать, если это возможно.

  • Кроме того, важно сделать следующее замечание: , если вы объявили что-либо строчными буквами, оно автоматически сохранится в нижнем регистре даже после удаления объявления . (вздох ... спасибо Microsoft). Чтобы исправить это поведение, повторно объявите переменную (или что-то еще) в верхнем регистре, а затем снова удалите объявление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...