Salt la conținutul principal
 

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

Autor: Xiaoyang Ultima modificare: 2024-08-15
rulați mai multe macrocomenzi din meniul de clic dreapta

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

inserați codul în modulul ThisWorkbook

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

inserați codul în modulul normal

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:

verificați Microsoft Visual Basic for Applications Extensibility 5.3 în caseta de dialog Referințe

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:

salvați registrul de lucru ca format Excel Macro-Enabled Workbook

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ă:

când faceți clic dreapta pe o celulă, toate macrocomenzile din registrul de lucru sunt listate în submeniu

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



Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!