Cum se execută mai multe macrocomenzi din meniul clic dreapta în Excel?
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
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
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:
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:
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ă:
7. Apoi, puteți rula codul doar făcând clic pe el.
Cele mai bune instrumente de productivitate de birou
Î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!