Salt la conținutul principal

Cum se execută mai multe macrocomenzi din meniul clic dreapta în Excel?

doc faceți clic dreapta pe macrocomenzi 5

Dacă există mai multe macro-uri vba în registrul dvs. de lucru, ar trebui să deschideți fereastra VBA și apoi să alegeți macro-ul atunci când trebuie să rulați codul. În acest articol, aș dori să vorbesc despre cum să rulați macrocomenzile din meniul cu clic dreapta pentru a vă face munca mai eficientă, așa cum este afișat ecranul din stânga.

Rulați mai multe macrocomenzi din meniul cu clic dreapta cu coduri VBA


Rulați mai multe macrocomenzi din meniul cu clic dreapta cu coduri VBA

Pentru a rula codurile macro dintr-un registru de lucru din meniul cu clic dreapta, următorii pași vă pot ajuta, vă rugăm să procedați astfel:

1. Gaura în jos Alt + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Apoi, faceți dublu clic Acest manual de lucru in stanga Proiect , apoi copiați și lipiți codul VBA de mai jos în modulul gol.

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

doc faceți clic dreapta pe macrocomenzi 1

3. Încă în Microsoft Visual Basic pentru aplicații fereastra, faceți clic pe Insera > Moduleși lipiți următorul cod în acest modul.

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

doc faceți clic dreapta pe macrocomenzi 2

4. După lipirea codurilor, faceți clic pe Instrumente > Referinte, Precum și o Referințe-VBAProject se afișează caseta de dialog, apoi bifați Extensibilitatea Microsoft Visual Basic pentru aplicații 5.3 opțiune în Referințe disponibile casetă listă, vezi captura de ecran:

doc faceți clic dreapta pe macrocomenzi 3

5. Apoi apasa OK pentru a ieși din dialog, ar trebui să salvați acest registru de lucru ca Cartea de lucru Excel Macro-Enabled format, vezi captura de ecran:

doc faceți clic dreapta pe macrocomenzi 4

6. În cele din urmă, reporniți registrul de lucru pentru a obține efectul codurilor, iar acum, când faceți clic dreapta pe o celulă, a Rulați Macro opțiunea este inserată în meniul cu clic dreapta și toate macrocomenzile din registrul dvs. de lucru sunt listate în submeniu, după cum urmează:

doc faceți clic dreapta pe macrocomenzi 5

7. Apoi, puteți rula codul doar făcând clic pe el.


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