Создание списка макросов (Microsoft Excel)
У Эндрю есть рабочая тетрадь, в которой много макросов. Он хотел бы создать список всех содержащихся в нем макросов, поэтому он задается вопросом, есть ли способ выполнить задачу.
В Excel нет встроенного способа создания списка макросов. Однако вы можете создать макрос, в котором будут перечислены ваши макросы. (Звучит как бы излишне, не так ли?)
В качестве примера рассмотрим следующий макрос, который проходит через все проекты в вашей книге, чтобы собрать все имена макросов и поместить их на лист:
Sub ListMacros() Dim VBComp As VBComponent Dim wsTarget As Worksheet Dim StartLine As Long Dim iRow As Integer Application.ScreenUpdating = False Set wsTarget = Worksheets.Add wsTarget.Range("A1") = "Macro" wsTarget.Range("A1").Font.Bold = True With wsTarget.Range("A1").Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With iRow = 2 For Each VBComp In ThisWorkbook.VBProject.VBComponents With VBComp.CodeModule StartLine = .CountOfDeclarationLines + 1 Do Until StartLine >= .CountOfLines wsTarget.Cells(iRow, 1) = _ .ProcOfLine(StartLine, vbext_pk_Proc) iRow = iRow + 1 StartLine = StartLine + _ .ProcCountLines(.ProcOfLine(StartLine, _ vbext_pk_Proc), vbext_pk_Proc) Loop End With Next VBComp wsTarget.Range("A1").EntireColumn.AutoFit Application.ScreenUpdating = True End Sub
Чтобы использовать этот макрос, вы должны убедиться, что у вас есть набор ссылок на расширяемость Microsoft VBA. Для этого выполните следующие действия:
-
В редакторе VBA выберите «Ссылки» в меню «Инструменты». Откроется диалоговое окно «Ссылки».
-
Прокрутите список доступных ссылок и убедитесь, что установлен флажок Microsoft Visual Basic для расширения приложений. (В конце ссылки может быть номер версии, но он должен начинаться с отмеченных слов.) (См. Рисунок 1.)
-
Закройте диалоговое окно.
Вам также необходимо быстро изменить настройки центра управления безопасностью.
Выполните следующие действия:
-
Отобразите ссылку: / excelribbon-Displaying_Excels_Developer_Tab [вкладка разработчика] на ленте.
-
В группе «Код» щелкните инструмент «Безопасность макросов». Excel отображает диалоговое окно «Центр управления безопасностью» с выбранными слева параметрами макроса. (См. Рис. 2.)
-
Убедитесь, что выбран параметр «Доверять доступ к объектной модели проекта VBA».
-
Щелкните ОК.
Когда вы запускаете макрос, он добавляет новый лист в вашу книгу, а затем перечисляет имена всех макросов во всех модулях в книге.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (5225) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Generating_a_List_of_Macros [Создание списка макросов]
.