Excel에서 매크로를 작성할 때 VBA (Visual Basic for Applications)라는 프로그래밍 언어를 사용합니다. 이것은 Excel에 특정한 확장이있는 BASIC 프로그래밍 언어를 기반으로합니다. 언어의 기능 중 하나는 프로그램에서 서브 루틴을 사용하는 기능입니다. 예를 들어 다음 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에 대한 서브 루틴 호출로 전달하는 간단한 매크로입니다. 이 서브 루틴은 메시지 상자에 변수 값을 표시 한 다음 (확인을 누른 후) 호출 프로그램으로 돌아갑니다.

서브 루틴은 전달 된 것과 동일한 변수 이름을 사용하지 않습니다. 이는 VBA가 x 값 (서브 루틴이 수신 할 것으로 예상하는 것)을 재 할당하여 A 값 (프로그램이 서브 루틴으로 전달하는 것)과 일치하도록하기 때문입니다. 서브 루틴에 매개 변수를 전달할 때 기억해야 할 중요한 점은 프로그램이 서브 루틴이 예상하는 것과 동일한 수의 매개 변수를 전달해야하며 매개 변수는 유형이 일치하고 순서가 적절해야한다는 것입니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (11764)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excel-Understanding_Subroutines [Understanding Subroutines].