Excel에서 VBA를 사용하여 단추 및 메뉴에서 매크로에 인수를 전달하는 방법은 무엇입니까?

이 기사에서는 Microsoft Excel에서 VBA **를 사용하여 버튼과 메뉴에서 매크로에 인수를 전달하는 방법을 배웁니다. 아래에서 봅시다!! 다음 링크에서 **MS Excel 공식 버전을 다운로드하십시오. https://www.microsoft.com/en-in/microsoft-365/excel

예시


  • 먼저 Excel 워크시트에서 개발자 탭으로 이동해야 합니다.
  • 그런 다음 ** ** 코드 섹션에서 Visual Basic 옵션을 선택해야 합니다.

  • Visual Basic 선택
  • 이제 아래 제공된 코드를 복사하여 붙여넣어야 합니다.

  • Sub AddCommandToCellShortcutMenu()
    Dim i As Integer, ctrl As CommandBarButton
        DeleteAllCustomControls ' delete the controls if they already exists
        ' create the new controls
        With Application.CommandBars(25) ' the cell shortcut menu
            ' add an ordinary commandbarbutton
            Set ctrl = .Controls.Add(msoControlButton, , , , True)
            With ctrl
                .BeginGroup = True
                .Caption = "New Menu1"
                .FaceId = 71
                .State = msoButtonUp
                .Style = msoButtonIconAndCaption
                .Tag = "TESTTAG1"
                .OnAction = "MyMacroName2"
            End With
            ' add a button that passes one string argument
            Set ctrl = .Controls.Add(msoControlButton, , , , True)
            With ctrl
                .BeginGroup = False
                .Caption = "New Menu2"
                .FaceId = 72
                .Style = msoButtonIconAndCaption
                .Tag = "TESTTAG2"
                .OnAction = "'MyMacroName2 ""New Menu2""'"
            End With
            ' add a button that passes passes one string argument
            Set ctrl = .Controls.Add(msoControlButton, , , , True)
            With ctrl
                .BeginGroup = False
                .Caption = "New Menu3"
                .FaceId = 73
                .Style = msoButtonIconAndCaption
                .Tag = "TESTTAG3"
                .OnAction = "'MyMacroName2 """ & .Caption & """'"
            End With
            ' add a button that passes two arguments, a string and an integer
            Set ctrl = .Controls.Add(msoControlButton, , , , True)
            With ctrl
                .BeginGroup = False
                .Caption = "New Menu4"
                .FaceId = 74
                .Style = msoButtonIconAndCaption
                .Tag = "TESTTAG4"
                .OnAction = "'MyMacroName3 """ & .Caption & """, 10'"
            End With
        End With
        Set ctrl = Nothing
    End Sub
    
    Sub DeleteAllCustomControls()
    ' delete the controls if they already exists
    Dim i As Integer
        For i = 1 To 4
            DeleteCustomCommandBarControl "TESTTAG" & i
        Next i
    End Sub
    
    Private Sub DeleteCustomCommandBarControl(CustomControlTag As String)
    ' deletes ALL CommandBar controls with Tag = CustomControlTag
        On Error Resume Next
        Do
            Application.CommandBars.FindControl(, , CustomControlTag, False).Delete
        Loop Until Application.CommandBars.FindControl(, , _
            CustomControlTag, False) Is Nothing
        On Error GoTo 0
    End Sub
    
    ' example macros used by the commandbar buttons
    Sub MyMacroName1()
        MsgBox "The time is " & Format(Time, "hh:mm:ss")
    End Sub
    
    Sub MyMacroName2(Optional MsgBoxCaption As String = "UNKNOWN")
        MsgBox "The time is " & Format(Time, "hh:mm:ss"), , _
            "This macro was started from " & MsgBoxCaption
    End Sub
    
    Sub MyMacroName3(MsgBoxCaption As String, DisplayValue As Integer)
        MsgBox "The time is " & Format(Time, "hh:mm:ss"), , _
            MsgBoxCaption & " " & DisplayValue
    End Sub
    
    


  • 코드를 선택하여 저장한 다음 창을 닫아야 합니다.

  • 코드 저장
  • 다시 Excel 스프레드시트로 이동하여 개발 도구 탭을 클릭해야 합니다.
  • 그런 다음 코드 섹션에서 매크로 옵션을 선택해야 합니다.

  • 매크로 옵션 선택
  • 이제 매크로 이름이 선택되었는지 확인하고 *실행 * 버튼을 클릭해야 합니다.

  • 코드 실행
  • 마지막으로 매크로를 실행한 후 Excel의 버튼과 메뉴에서 **pass arguments to macros to macros라는 출력 **을 얻게 됩니다.

  • 출력

    마무리



    이 문서에서 Microsoft Excel의 VBA를 사용하여 단추 및 메뉴에서 매크로에 인수를 전달하는 방법에 대한 설명을 얻을 수 있습니다. 이 문서 또는 다른 Excel/VBA 주제와 관련하여 의문 사항이 있으면 알려주십시오.

    Geek Excel 찾아주셔서 정말 감사합니다!! *더 도움이 되는 공식을 알고 싶다면 Excel Formulas을 확인하세요 *!!

    계속 읽으세요:
  • Excel Formulas to Find Pass or Fail Using COUNTIF Function!!
  • Insert Multiple Option Buttons at Once in Excel Office 365!!
  • Batch Delete Option Buttons with One Click in Excel Office 365!!
  • How to use DATE Function in Microsoft Excel 365?
  • 좋은 웹페이지 즐겨찾기