Указание имени листа необходимо при идентификации ячейки по имени в Excel 2007 - PullRequest
0 голосов
/ 04 ноября 2010

Первоначально спросили в SuperUser: https://superuser.com/questions/206822/specifying-worksheet-name-required-when-identifying-a-cell-by-name-in-excel-2007.

Я не знаю, если это изменение в версии, но в 2003 году это работало в Access VBA:

Dim xlSheet As Excel.Worksheet
xlSheet.Range("RangeName").Value = 100

Раньше мне не нужно было идентифицировать лист, потому что «RangeName» было уникальным. Excel 2007 не считает это уникальным значением и требует указания рабочего листа?

[EDIT] Вот ошибка в Access 2007 VBA:

«Ошибка 1004 (Метод« Диапазон »объекта« _Worksheet »не выполнен.» Попытка избежать присвоения имени листу.

Я использовал менеджер имен в Excel. Имя уникально, а сфера действия - рабочая тетрадь.

alt text

Когда я пытался отредактировать имя, он не позволяет изменять область видимости. alt text

Примечание. Эта рабочая книга является шаблоном, который допускает использование макросов, а имена - в беспорядке.

1 Ответ

0 голосов
/ 04 ноября 2010

Это то, что я нашел.

Используется имя листа после моды:

Dim xlSheet As Excel.Worksheet
Set xlSheet = ActiveSheet
xlSheet.Range("rngOneCell") = 300

С этим синтаксисом, я полагаю, вы можете избежать именования листа:

Range("rngOneCell") = 100
...