매크로 함수 이해 (Microsoft Excel)
매크로에서 서브 루틴을 사용할 수 있다는 것을 이미 알고 있습니다. VBA를 사용하면 매크로에서 사용할 수있는 함수를 정의 할 수도 있습니다. 함수와 서브 루틴의 차이점은 함수는 값을 반환 할 수있는 반면 서브 루틴은 반환 할 수 없다는 것입니다. 다음 매크로를 고려하십시오.
Sub Macro1() TooMany = TestFunc If TooMany Then MsgBox "Too many columns selected" End Sub
Function TestFunc() TestFunc = False If Selection.Columns.Count > 10 Then TestFunc = True End If End Function
매크로 (Macro1)는 TestFunc 함수를 호출합니다. 이 함수는 수행하는 테스트에 따라 False 또는 True 값을 반환합니다. 그런 다음 Macro1은 반환 된 값에 따라 작동합니다. 함수 이름은 등호 오른쪽에 나타날 수 있습니다. 이것은 기능을 매우 강력하고 모든 프로그램의 중요한 부분으로 만듭니다. 함수 내에서 결과는 함수 자체의 이름 인 TestFunc에 할당됩니다. 이것은 함수가 반환하는 값입니다.
서브 루틴과 마찬가지로 매개 변수를 함수에 전달할 수도 있습니다.
이것은 다음 매크로에 설명되어 있습니다.
Sub Macro1() A = 12.3456 MsgBox A & vbCrLf & RoundIt(A) End Sub
Function RoundIt(X) As Integer RoundIt = Int(X + 0.5) End Function
이 간단한 매크로 (Macro1)는 숫자를 정의한 다음 메시지 상자를 사용하여 숫자와 숫자를 RoundIt 함수에 전달한 결과를 표시합니다. 출력은 12.3456과 12입니다. 매개 변수는 괄호 안에 함수에 전달되어야합니다. 또한 함수는 전달 된 것과 동일한 변수 이름을 사용하지 않습니다. 이는 VBA가 X 값 (함수에 필요한 것)을 다시 할당하여 A 값 (프로그램이 함수에 전달하는 것)과 일치하기 때문입니다.
매개 변수를 함수에 전달할 때 기억해야 할 중요한 점은 프로그램이 함수가 예상하는 것과 동일한 수의 매개 변수를 전달해야하며 매개 변수는 유형과 순서가 일치해야한다는 것입니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶으면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (11765)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.
link : / excel-Understanding_Functions_in_Macros [매크로의 함수 이해]
.