У Брюса есть именованный диапазон (учетная запись), определенный в книге, и он задается вопросом, как получить доступ и использовать этот именованный диапазон из макроса. Есть несколько способов получить доступ к диапазону, используя либо объект Range, либо коллекцию Names.

Чтобы получить доступ к именованному диапазону с помощью объекта Range, все, что вам нужно сделать, это указать имя диапазона в качестве параметра для объекта. Это то же имя, которое вы определили в Excel. Например, для изменения внутреннего цвета всего диапазона можно использовать следующую строку:

Worksheets("Sheet1").Range("Account").Interior.Color = vbYellow

Обратите внимание, что объект Range используется относительно определенного рабочего листа, в данном случае Sheet1. Вы также можете определить объект диапазона в VBA, а затем назначить его равным названному диапазону следующим образом:

Set rng = Worksheets("Sheet1").Range("Account")

Другой метод использования именованного диапазона — использование коллекции Names. Следующая строка снова установит желтый внутренний цвет диапазона:

Workbooks("Book1.xls").Names("Account").RefersToRange.Interior.Color = vbYellow

Обратите внимание, что коллекция Names относится ко всей книге, поэтому при использовании этого метода доступа нет необходимости знать, с каким листом связан именованный диапазон. Вы также можете определить объект диапазона в VBA и назначить его таким же, как именованный диапазон:

Set rng = Workbooks("Book1.xls").Names("Account").RefersToRange

Вы должны знать, что метод сбора имен для доступа к именованному диапазону будет жизнеспособен только в том случае, если у вас нет того же именованного диапазона, определенного на разных листах в книге. Если вы это сделаете, вам нужно будет использовать метод объекта Range, который требует использования определенного имени рабочего листа в ссылке.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3106) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Using_Named_Ranges_in_a_Macro [Использование именованных диапазонов в макросе].