Excel의 오른쪽 클릭 메뉴에서 여러 매크로를 실행하는 방법은 무엇입니까?
통합 문서에 여러 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
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
4. 코드를 붙여 넣은 후 도구 > 참고자료및 참조 -VBAProject 대화 상자가 표시되면 Microsoft Visual Basic for Applications 확장 성 5.3 에서 옵션 사용 가능한 참조 목록 상자, 스크린 샷 참조 :
5. 그런 다음 OK 대화 상자를 종료하려면 이제이 통합 문서를 Excel 매크로 사용 통합 문서 형식, 스크린 샷 참조 :
6. 마지막으로 통합 문서를 다시 시작하여 코드 효과를 적용하십시오. 이제 셀을 마우스 오른쪽 단추로 클릭하면 매크로 실행 옵션이 오른쪽 클릭 메뉴에 삽입되고 통합 문서의 모든 매크로가 다음 스크린 샷과 같이 하위 메뉴에 나열됩니다.
7. 그런 다음 클릭하여 코드를 실행할 수 있습니다.