При написании макроса, который выполняет какую-либо обработку на разных листах, вам может потребоваться выяснить, какие листы были выбраны пользователем перед запуском макроса. Это можно сделать с помощью свойства SelectedSheets. (Что ж, технически это свойство, но во многом оно действует как коллекция.) Следующий простой макрос отображает имена каждого рабочего листа, который в данный момент выбран:

Sub ShowSheets()

Dim aSheet As Variant

For Each aSheet In ActiveWindow.SelectedSheets         MsgBox aSheet.Name     Next aSheet End Sub

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

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

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

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

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

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

link: / excelribbon-Telling_which_Worksheets_are_Selected [Указание, какие рабочие листы выбраны].