Редактор VB будет автоматически капитализировать в соответствии с оболочками имен, используемых вашим кодом для переменных, подпрограмм и других типов, и он будет использовать примерно тот же порядок, что и области применения.
Вы можете решить эту проблему, найдя любые переменные под названием selection
и сменив корпус на Selection
. Если вы не можете найти их, попробуйте временно , добавив переменную под названием Selection
, и все оболочки в области будут меняться.
Например, если вы определяете переменную workshEEts
, обратите внимание, что использование ThisWorkbook.Worksheets.Count
будет использовать один и тот же корпус:
Dim workshEEts As Workbook
Debug.Print ThisWorkbook.workshEEts.Count
Но есть также глюк в редакторе, так как кэш это имена даже после вы удаляете один. Например, если вы удалите первую строку из приведенного выше примера, корпус 2-й линии остается неизменным, и добавлением нового использования Worksheets
результатов в кэшированном корпусе:
Debug.Print ThisWorkbook.workshEEts.Count
ThisWorkbook.workshEEts(1).Select
Итак, как вы снимите кэш? Создать новую переменную, даже если только временно, с корпусом вам требуется, а затем все контекстными оболочках будут обновлены:
Dim Worksheets
Debug.Print ThisWorkbook.Worksheets.Count
ThisWorkbook.Worksheets(1).Select
Он мог бы объявили переменную под названием 'selection' где-то (общественные). – arcadeprecinct
Или он записал макрос под названием «Выбор». Просто найдите макросы своих открытых книг для выбора слова. Возможно, в Personal.xlsb. – vacip
Сообщение об ошибке также может быть полезно. – arcadeprecinct