Когда вы пишете макросы в Excel, вы используете язык программирования Visual Basic для приложений (VBA). Это основано на языке программирования BASIC с расширениями, специфичными для Excel. Одна из особенностей языка — возможность использовать подпрограммы в ваших программах. Например, рассмотрим следующий макрос VBA:

Sub Macro1()

TestSub End Sub
Sub TestSub()

MsgBox "In the subroutine"

End Sub

Этот простой макрос (Macro1) не делает ничего, кроме вызова подпрограммы (TestSub), которая, в свою очередь, отображает окно сообщения, информирующее вас о том, что он находится в подпрограмме. Когда вы нажимаете ОК, чтобы закрыть окно сообщения, подпрограмма завершается и возвращает управление основной программе. Вы можете иметь сколько угодно подпрограмм в программе VBA. Целью каждого из них должно быть выполнение общих задач, чтобы вам не приходилось все время переписывать один и тот же код.

Вы также можете передавать параметры своим подпрограммам. Затем эти параметры могут использоваться вашей подпрограммой. Например, рассмотрим следующий макрос:

Sub Macro1()

A = 1     PrintIt A End Sub
Sub PrintIt(x)

MsgBox "Value: " & x End Sub

Это простой макрос, который устанавливает переменную, а затем передает ее в вызове подпрограммы в PrintIt. Эта подпрограмма отображает значение переменной в окне сообщения, а затем (после того, как вы нажмете OK) возвращается к вызывающей программе.

Обратите внимание, что подпрограмма не использует то же имя переменной, которое было передано. Это связано с тем, что VBA переназначает значение x (то, что подпрограмма ожидает получить), чтобы оно соответствовало значению A (то, что программа передает подпрограмме). При передаче параметров подпрограммам важно помнить, что ваша программа должна передавать такое же количество параметров, какое ожидает подпрограмма, и что параметры должны иметь совпадающие типы и в правильном порядке.

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

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

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

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

Этот совет (11764) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Understanding_Subroutines [Общие сведения о подпрограммах].