Cum să atribuiți o macro unui buton în Excel (Ghid ușor)

Deși există multe modalități diferite de a rula o macro în Excel, niciuna dintre aceste metode nu poate fi la fel de ușoară și ușor de utilizat ca să faceți clic pe un buton.

Și pentru ca acest lucru să funcționeze, trebuie mai întâi să atribuiți o macro unui buton.

În acest tutorial, vă voi arăta câteva moduri de a insera un buton în Excel și apoi de a atribui o macro acelui buton (sau formă). După ce ați terminat, de îndată ce un utilizator face clic pe buton, codul VBA macro va fi executat.

În scopul acestui tutorial, voi folosi codul macro VBA de mai jos (care selectează pur și simplu celula A1 din foaia activă și introduce textul „Bună dimineața” în ea și o colorează în roșu).

Sub GoodMorning () With ActiveSheet.Range ("A1") .Value = "Good Morning" .Interior.Color = vbRed End with End Sub

Codul VBA de mai sus este plasat într-un modul obișnuit din Editorul VB

Acum, să ne scufundăm direct și să vedem cum puteți atribui această macro unui buton sau formă în Excel!

Introduceți o formă și atribuiți macro-ului acestei forme

În timp ce există butoane dedicate pe care le puteți insera în foaia de lucru și apoi îi atribuiți macro-ul, voi acoperi mai întâi cum să atribuiți o macro unei forme.

Personal îmi place această metodă și o prefer în fața celorlalte două metode tratate ulterior. Puteți introduce cu ușurință o formă (pătrat sau dreptunghi) și o puteți face să arate ca un buton.

Și întrucât este o formă, o puteți formata cu ușurință pentru a arăta perfect cu formatarea dvs. existentă sau culorile mărcii.

Mai jos sunt pașii pentru a insera o formă în Excel:

  1. Faceți clic pe fila Inserare
  2. În grupul de ilustrații, faceți clic pe Forme
  3. În opțiunile Forme, faceți clic pe opțiunea Dreptunghi. Veți observa că cursorul dvs. se transformă într-o pictogramă plus
  4. Faceți clic oriunde pe foaia de lucru. Aceasta va insera o formă de dreptunghi în foaia de lucru.
  5. Redimensionați dreptunghiul și formatați-l (dați-i o margine, o culoare, o nuanță dacă doriți).

După ce ați făcut pașii de mai sus, veți avea o formă de dreptunghi în foaia de lucru, iar acum vom atribui o macro acestei forme.

Rețineți că am inserat o formă dreptunghiulară în acest exemplu, dar puteți insera orice formă doriți (cum ar fi un cerc sau un triunghi sau o săgeată). Prefer să folosesc un dreptunghi și arată ca un buton și este mai intuitiv.

Acum să vedem cum să atribuiți o macro acestei forme.

  1. Faceți clic dreapta pe forma pe care doriți să atribuiți macro-ul
  2. În opțiunile de meniu care apar, faceți clic pe „Atribuiți macro”. Aceasta va deschide caseta de dialog de atribuire macro
  3. În caseta de dialog Alocare macrocomenzi, veți vedea o listă cu toate macrocomenzile pe care le aveți în registrul de lucru
  4. Faceți clic pe numele Macro pe care doriți să-l atribuiți acestei forme. În acest exemplu, voi face clic pe macro-ul numit „Bună dimineața
  5. Faceți clic pe OK

Asta e!

Macro-ul selectat a fost acum atribuit formei.

Acum, când plasați cursorul peste formă, acesta va afișa pictograma mâinii. ceea ce indică faptul că acum această formă a devenit clicabilă.

Și acum, dacă faceți clic pe formă, aceasta va rula macro-ul atribuit.

Puteți tasta orice text din formă pentru a-l face mai intuitiv (cum ar fi „Faceți clic aici pentru a rula macro-ul”). Pentru a face acest lucru. faceți clic dreapta pe formă și apoi faceți clic pe Editare text. Acum puteți introduce în forma casetei de text.

Rețineți că nu veți putea să faceți clic și să executați macrocomanda atunci când forma a fost selectată (adică, vedeți o margine în jurul formei care apare când o selectați). Pentru a face clic, apăsați tasta Escape sau faceți clic oriunde în foaia de lucru.

De asemenea, atunci când ați atribuit deja forma macro, nu veți putea să o selectați folosind tasta stângă a mouse-ului (deoarece a devenit clicabilă și clic stânga ar executa acum macro-ul). În acest caz, selectați forma, țineți apăsată tasta de control și apoi apăsați tasta stângă.

Menținerea formei vizibile atunci când ascundeți / redimensionați rândurile / coloanele

În Excel. când introduceți o formă, aceasta se așează peste celule - ca o diagramă / obiect.

Aceasta are, de asemenea, un dezavantaj că, atunci când redimensionați sau ascundeți rândurile / coloanele care au forma deasupra, forma urmează și exemplul.

În exemplul de mai jos, forma se ascunde când ascund coloana pe care este plasată.

Dacă nu doriți ca acest lucru să se întâmple, urmați pașii de mai jos:

  1. Faceți clic dreapta pe formă
  2. Faceți clic pe Format Shape
  3. În panoul Formă format (sau caseta de dialog în cazul în care utilizați Excel 2010 sau versiunile anterioare), selectați Dimensiune și proprietăți
  4. În opțiunile Proprietăți, selectați opțiunea - „Nu mișcați sau nu măriți cu celule”
  5. Închideți panoul (sau caseta de dialog)

Acum, când redimensionați rândurile / coloanele sau le ascundeți, forma va rămâne la locul său.

Atribuiți o macro la butonul de control al formularului

Dacă nu sunteți prea preocupat de formatarea butonului și sunteți în regulă cu butoanele gri obișnuite, îl puteți insera rapid din controlul formularului (sau controlul ActiveX așa cum se arată în continuare) și apoi îi puteți atribui o macro.

Pentru ca acest lucru să funcționeze, va trebui să aveți fila Dezvoltator în panglică. Dacă nu o aveți, iată un tutorial detaliat pas cu pas despre obținerea filei dezvoltator în panglica Excel.

După ce aveți fila dezvoltator vizibilă, puteți utiliza pașii de mai jos pentru a insera rapid un buton și a-i atribui o macro:

  1. Faceți clic pe fila Dezvoltator
  2. În grupul Control, faceți clic pe Insert.
  3. În opțiunile care apar, în opțiunile Control Form, faceți clic pe opțiunea Buton (Control formular).
  4. Faceți clic oriunde pe foaia de lucru. Aceasta va introduce butonul oriunde faceți clic și se va deschide automat caseta de dialog „Atribuiți macro”.
  5. În caseta de dialog Alocare macrocomenzi, veți vedea o listă cu toate macrocomenzile pe care le aveți în registrul de lucru
  6. Faceți clic pe numele Macro pe care doriți să-l atribuiți acestui buton. În acest exemplu, voi face clic pe macro-ul numit „Bună dimineața”
  7. Faceți clic pe OK

Pașii de mai sus ar insera un buton care are atribuită macrocomanda specificată.

În mod implicit, ar fi un buton mic cu text precum „Buton” scris pe el. Puteți schimba textul cu orice doriți și puteți schimba și forma butonului (prin glisarea marginilor).

Deoarece acesta este un obiect plasat peste foaia de lucru (la fel ca formele / diagramele), îl puteți trage și plasa oriunde în foaia de lucru.

Un dezavantaj al utilizării butonului Control formular este că nu aveți prea mult control asupra formatării. De exemplu, nu puteți schimba culoarea din gri în altceva.

Deși există un pic de formatare pe care îl puteți face cu un buton de control Form, nu se apropie de ceea ce puteți face cu formele.

Obțineți aceste opțiuni de formatare a butonului atunci când faceți clic dreapta pe buton și apoi faceți clic pe Format Control.

Aceasta va deschide caseta de dialog Format Control unde puteți schimba tipul / culoarea fontului, dimensiunea, alinierea etc.

Un lucru bun la acest buton este că nu ascunde sau redimensionează atunci când ascundeți rândurile / coloanele sau le redimensionați. Totuși, s-ar mișca în cazul în care schimbați înălțimea sau lățimea sau rândul / coloana peste care este plasat butonul.

În cazul în care nu doriți ca butonul să rămână la locul său, puteți modifica setarea urmând pașii de mai jos:

  1. Faceți clic dreapta pe buton
  2. Faceți clic pe Controlul formatului
  3. Faceți clic pe fila Proprietăți
  4. Selectați opțiunea - „Nu mișcați sau nu măriți cu celule”
  5. Faceți clic pe Ok

Atribuiți o macro unui buton de control ActiveX

În afară de butonul Form Control, există și un buton de control ActiveX căruia îi puteți atribui o macro.

În majoritatea cazurilor, nu va trebui să utilizați butonul de control ActiveX și vă recomand să îl utilizați numai atunci când înțelegeți complet ce este și știți ce faceți.

Vă întrebați de ce avem două tipuri diferite de butoane - Form Control și ActiveX? În timp ce comenzile de formulare sunt încorporate în aplicația Excel, ActiveX este încărcat dintr-o DLL separată (Dynamic Link Libraries). Acest lucru face ca butoanele de control Form mult mai robuste și mai fiabile în comparație cu butoanele ActiveX. Puteți citi mai multe despre această diferență aici într-o postare în StackOverflow.

De asemenea, uneori, acest lucru face ca ActiveX să fie un pic glitchy și imprevizibil. Deci, în timp ce îl acoper în acest tutorial, nu vă recomand să utilizați butonul ActiveX și să îi atribuiți o macro.

Pentru a insera un buton ActiveX și apoi a-i atribui o macro, urmați pașii de mai jos:

  1. Faceți clic pe fila Dezvoltator
  2. În grupul Control, faceți clic pe Insert.
  3. În opțiunile care apar, în opțiunile de control ActiveX, faceți clic pe opțiunea Buton de comandă.
  4. Faceți clic oriunde pe foaia de lucru. Aceasta va introduce butonul oriunde faceți clic.
  5. Faceți dublu clic pe buton și va deschide backend-ul VB Editor unde puteți plasa codul pentru butonul ActiveX

Cu controlul ActiveX, veți obține mult mai multă flexibilitate cu un singur buton. De exemplu, puteți specifica o macrocomandă care trebuie executată atunci când faceți clic pe buton o dată și o altă macrocomandă când faceți dublu clic sau chiar alta când folosiți tasta săgeată sus / jos.

Din nou, nu ceva ce trebuie să folosești în munca ta obișnuită.

O altă opțiune pe care o puteți lua în considerare (atunci când lucrați cu butoane / forme și îi atribuiți macro-uri) este să adăugați macro-ul la Bara de instrumente cu acces rapid. În acest fel, puteți rula macro-ul cu un singur clic și este întotdeauna vizibil în QAT.

Sper că ați găsit util acest tutorial. Dacă sunteți interesat să învățați VBA, puteți consulta aici tutoriale mai detaliate Excel VBA.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave