메인 컨텐츠로 가기

Excel의 오른쪽 클릭 메뉴에서 여러 매크로를 실행하는 방법은 무엇입니까?

문서 오른쪽 클릭 매크로 5

통합 문서에 여러 vba 매크로가있는 경우 VBA 창을 열고 코드를 실행해야 할 때 매크로를 선택해야합니다. 이 기사에서는 오른쪽 클릭 메뉴에서 매크로를 실행하여 왼쪽 스크린 샷처럼 작업을보다 효율적으로 만드는 방법에 대해 이야기하고 싶습니다.

VBA 코드로 오른쪽 클릭 메뉴에서 여러 매크로 실행


VBA 코드로 오른쪽 클릭 메뉴에서 여러 매크로 실행

오른쪽 클릭 메뉴에서 통합 문서 내에서 매크로 코드를 실행하려면 다음 단계가 도움이 될 수 있습니다. 다음과 같이하십시오.

1. 아래로 구멍 Alt + F11 키를 눌러 응용 프로그램 용 Microsoft Visual Basic 창.

2. 그런 다음 두 번 클릭 이 워크북 왼쪽에 프로젝트 창을 클릭 한 다음 아래 VBA 코드를 복사하여 빈 모듈에 붙여 넣습니다.

Private Sub Workbook_Open()
Run "LoadMacro"
End Sub
Private Sub Workbook_Activate()
Run "LoadMacro"
End Sub
Private Sub Workbook_Deactivate()
Run "ClearMacro"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Run "ClearMacro"
ThisWorkbook.Save
End Sub

문서 오른쪽 클릭 매크로 1

3. 여전히 응용 프로그램 용 Microsoft Visual Basic 창을 클릭하십시오 끼워 넣다 > 모듈을 클릭하고이 모듈에 다음 코드를 붙여 넣습니다.

Private Sub LoadMacro()
Dim xArrMenu As Variant
Dim xStrLine, xSreBtnName As String
Dim xObjCBCF, xObjCntrAll As CommandBarControl
Dim xObjCBCs As CommandBars
Dim xObjCBBtn As CommandBarButton
Dim xIntLine, xFNum As Integer
Dim xObjComponent As Object
Run "ClearMacro"
Set xObjCBCF = Application.CommandBars("Cell").Controls.Add(msoControlPopup, before:=1)
xObjCBCF.Caption = " Run Macro "
xObjCBCF.BeginGroup = False
For Each xObjComponent In ActiveWorkbook.VBProject.VBComponents
    If xObjComponent.Type = 1 Then
        For xIntLine = 1 To xObjComponent.CodeModule.CountOfLines
        xStrLine = xObjComponent.CodeModule.Lines(xIntLine, 1)
        xStrLine = Trim(xStrLine)
            If (InStr(xStrLine, "()") > 0) And (Left(xStrLine, 11) = "Private Sub" Or Left(xStrLine, 3) = "Sub") Then
            xSreBtnName = ""
            If "Private Sub" = Left(xStrLine, 11) Then
                xSreBtnName = Trim(Mid(xStrLine, 12, InStr(xStrLine, "()") - 12))
            ElseIf "Sub" = Left(xStrLine, 3) Then
               xSreBtnName = Trim(Mid(xStrLine, 4, InStr(xStrLine, "()") - 4))
            End If
            If xSreBtnName <> "" And xSreBtnName <> "RightClickReset" And xSreBtnName <> "LoadMacro" And xSreBtnName <> "ActionMacro" Then
                Set xObjCBBtn = xObjCBCF.Controls.Add
                With xObjCBBtn
                    .FaceId = 186
                    .Style = msoButtonIconAndCaption
                    .Caption = xSreBtnName
                    .OnAction = "ActionMacro"
                End With
            End If
            End If
        Next xIntLine
    End If
Next xObjComponent
End Sub
Private Sub ClearMacro()
On Error Resume Next
CommandBars("Cell").Controls(" Run Macro ").Delete
Err.Clear
CommandBars("Cell").Reset
End Sub
Private Sub ActionMacro()
On Error GoTo Err1
With Application
Run .CommandBars("Cell").Controls(1).Controls(.Caller(1)).Caption
End With
Exit Sub
Err1:
    MsgBox "Invalid"
End Sub

문서 오른쪽 클릭 매크로 2

4. 코드를 붙여 넣은 후 도구 > 참고자료참조 -VBAProject 대화 상자가 표시되면 Microsoft Visual Basic for Applications 확장 성 5.3 에서 옵션 사용 가능한 참조 목록 상자, 스크린 샷 참조 :

문서 오른쪽 클릭 매크로 3

5. 그런 다음 OK 대화 상자를 종료하려면 이제이 통합 문서를 Excel 매크로 사용 통합 문서 형식, 스크린 샷 참조 :

문서 오른쪽 클릭 매크로 4

6. 마지막으로 통합 문서를 다시 시작하여 코드 효과를 적용하십시오. 이제 셀을 마우스 오른쪽 단추로 클릭하면 매크로 실행 옵션이 오른쪽 클릭 메뉴에 삽입되고 통합 문서의 모든 매크로가 다음 스크린 샷과 같이 하위 메뉴에 나열됩니다.

문서 오른쪽 클릭 매크로 5

7. 그런 다음 클릭하여 코드를 실행할 수 있습니다.


Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations