Note: The other languages of the website are Google-translated. Back to English

Cum se adaugă butonul personalizat la clic dreapta / meniul contextual în Excel?

Așa cum este prezentat mai jos capturile de ecran, mulți oameni tind să-și adauge funcțiile utilizate frecvent în meniul clic dreapta al Excelului pentru a utiliza rapid aceste funcții cu un singur clic în viitor. Acest articol vorbește despre adăugarea unui buton de cod personalizat în meniul cu clic dreapta în Excel.

Adăugați un buton personalizat la meniul contextual în Excel cu cod VBA


Adăugați un buton personalizat la meniul contextual în Excel cu cod VBA

Presupunând că ați creat un script VBA numit MyMacro în Excel și acum trebuie să adăugați această funcție în meniul contextual pentru a rula codul doar făcând clic pe el. Vă rugăm să faceți următoarele.

1. apasă pe Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În Microsoft Visual Basic pentru aplicații fereastră, faceți dublu clic Acest manual de lucru in stanga Proiect panou. Și apoi copiați și lipiți codul VBA de mai jos în ThisWorkbook (Cod) fereastră.

Cod VBA: Adăugați un buton personalizat la meniul contextual din Excel

Private Sub Workbook_Deactivate()
    On Error Resume Next
        With Application
            .CommandBars("Cell").Controls("MyMacro").Delete
        End With
    On Error GoTo 0
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim cmdBtn As CommandBarButton
    On Error Resume Next
        With Application
            .CommandBars("Cell").Controls("MyMacro").Delete
            Set cmdBtn = .CommandBars("Cell").Controls.Add(Temporary:=True)
        End With

        With cmdBtn
           .Caption = "MyMacro"
           .Style = msoButtonCaption
           .OnAction = "MyMacro"
        End With
    On Error GoTo 0
End Sub

notițe: În cod, vă rugăm să înlocuiți toate „MyMacro” cu numele Macro pe care l-ați creat în Excel.

3. apasă pe Alt + Q tastele pentru a ieși din Microsoft Visual Basic pentru aplicații fereastră.

Acum reveniți la interfața Excel, după ce faceți clic dreapta pe o celulă, veți vedea că noul buton cu numele specificat este adăugat în meniul care face clic dreapta așa cum este prezentat mai jos. Faceți clic pe buton pentru a declanșa imediat macro-ul corespunzător.


Articole pe aceeași temă:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

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!
fundul officetab
Comentarii (15)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Adăugați butonul VBA în meniul contextual funcționează bine. Mulțumiri. Cum adaug mai multe butoane? (nu este bun la VBA, de aici întrebarea).
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Vic,
Următorul cod VBA vă poate ajuta să rezolvați problema, vă rugăm să încercați.

Private Sub Workbook_Deactivate ()
Dim xArrB ca variantă
Dim xFNum ca număr întreg
Dim xStr As String
La data de eroare CV următoare
Cu Aplicație
xArrB = Matrice ("Macroma mea01", "Macroma mea02", "Macroma mea03")
Pentru xFNum = 0 La UBound(xArrB)
xStr = xArrB(xFNum)
.CommandBars("Cell").Controls(xStr).Delete
Următorul xFNum
Se termina cu
La eroare GoTo 0
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh ca obiect, ByVal țintă ca interval, Anulare ca boolean)
Dim cmdBtn ca CommandBarButton
Dim xArrB ca variantă
Dim xFNum ca număr întreg
Dim xStr As String
La data de eroare CV următoare
xArrB = Matrice ("Macroma mea01", "Macroma mea02", "Macroma mea03")
Pentru xFNum = 0 La UBound(xArrB)
xStr = xArrB(xFNum)
Cu Aplicație
.CommandBars("Cell").Controls(xStr).Delete
Set cmdBtn = .CommandBars("Cell").Controls.Add(Temporary:=True)
Se termina cu
Cu cmdBtn
.Caption = xStr
.Style = msoButtonCaption
.OnAction = xStr
Se termina cu
Următorul xFNum
La eroare GoTo 0
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru nu funcționează pentru mine, am făcut exact la fel ca macrocomanda de mai sus cu un singur meniu, funcționează pentru altcineva sau fac ceva greșit?

mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Nu lucrați cu Excel 2013
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Yves, am testat acest cod pe Excel 2013 și funcționează până la capăt. Ați primit vreo solicitare de eroare? Trebuie să știu mai precis despre problema ta
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc pentru răspuns, dar nu funcționează pe o masă. Pe o celulă normală funcționează perfect.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună yves, Problema este clară acum și am nevoie de timp să o rezolv. Te rog asteapta. Multumim pentru feedback-ul dvs.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc mult
Acest comentariu a fost redus la minimum de moderatorul de pe site
mulțumesc
Funcționează asta pentru toate registrele de lucru chiar și după repornirea Excel sau numai pentru registrul de lucru selectat în care a salvat macrocomanda?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Funcționează doar pentru registrul de lucru care salvează macrocomandă. Vă mulțumim pentru comentariu.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Размести код в отдельном модуле, для того чтобы это работало для всех документов
Acest comentariu a fost redus la minimum de moderatorul de pe site
bonjour,

Je déterre le sujet car j'ai un soucis, j'ai récupérer un fișier care m'a remplacé le menu du click droit et je ne sais pas comment revenir au menu par défaut...
Ça a modifica le meniu pentru a nu importa acel fișier excel. Folosesc excel 2016.

Precizați fișierul care poate fi conectat la un mot de trecere pentru a accesa codul VBA. Mot de passe qu'évidemment je ne posede pas..

Merci d'avance pour votre aide !!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Olivier,
Scuze, nu prea inteleg ce vrei sa spui. Vrei să revii la meniul normal cu clic dreapta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Zdravím dokázal byste mi prosím někdo poradit s podobným problémem? Po posledním updatu Office přibyla v excelu po stisknutí pravého tlačítka nad kopírovat a vyjmout volba hledat v nabídkách která mi tam vadí a chtěl bych jí odstranit. Dá se to udělat i obráceně a nějakou funkci odstranit?

Mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Tomáš,
Nu am întâlnit această situație. Puteți atașa o captură de ecran pentru a descrie mai clar problema pe care ați întâlnit-o.
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL