Tip: andere talen zijn Google-Vertaald. Je kunt het English versie van deze link.
Log in
x
or
x
x
Registreren
x

or

Hoe meerdere macro's te draaien vanuit het rechtsklikmenu in Excel?

doc klik met de rechtermuisknop macro's 5

Als er meerdere vba-macro's in uw werkmap staan, opent u het VBA-venster en kiest u de macro wanneer u de code moet uitvoeren. In dit artikel wil ik het hebben over hoe macro's kunnen worden uitgevoerd vanuit het rechtsklikmenu om uw werk efficiënter te maken zoals het linker screenshot wordt getoond.

Voer meerdere macro's uit vanuit het rechtsklikmenu met VBA-codes


Voer meerdere macro's uit vanuit het rechtsklikmenu met VBA-codes

Als u de macrocodes in een werkmap wilt uitvoeren vanuit het rechtsklikmenu, kunnen de volgende stappen u helpen, doe dit als volgt:

1. Maak een gat in de Alt + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Dubbelklik vervolgens ThisWorkbook links Project deelvenster en kopieer en plak de onderstaande VBA-code in de lege module.

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 klik met de rechtermuisknop macro's 1

3. Nog steeds in de Microsoft Visual Basic voor toepassingen venster, klik alstublieft bijvoegsel > moduleen plak de volgende code in deze module.

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 klik met de rechtermuisknop macro&#39;s 2

4. Nadat u de codes hebt geplakt, klikt u op Gereedschap > ReferentiesEn een Referenties-VBAProject dialoogvenster wordt weergegeven en controleer vervolgens Microsoft Visual Basic voor uitbreidbaarheid van applicaties 5.3 optie in het Beschikbare verwijzingen keuzelijst, zie screenshot:

doc klik met de rechtermuisknop macro&#39;s 3

5. Dan klikken OK om het dialoogvenster te sluiten, moet u deze werkmap nu opslaan als Excel Macro-Enabled werkmap formaat, zie screenshot:

doc klik met de rechtermuisknop macro&#39;s 4

6. Eindelijk, herstart de werkmap om het codes effect te nemen, en nu, wanneer u met de rechtermuisknop op een cel klikt, a Voer Macro uit optie wordt ingevoegd in het rechtsklikmenu en alle macro's in uw werkmap worden weergegeven in het submenu als volgende schermafbeelding:

doc klik met de rechtermuisknop macro&#39;s 5

7. Vervolgens kunt u de code gewoon uitvoeren door erop te klikken.


Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.