Salt la conținutul principal

Cum se face ca numele butonului de comandă să fie dinamic în Excel?

Acest articol vorbește despre modificarea dinamică a numelui unui buton de comandă cu o modificare specificată a valorii celulei. De exemplu, când valoarea din celula A1 a fost schimbată în „test”, numele unui anumit buton de comandă va fi schimbat în „test” automat.

Faceți numele butonului de comandă dinamic cu valoarea celulei prin codul VBA


Faceți numele butonului de comandă dinamic cu valoarea celulei prin codul VBA

Următorul cod VBA vă poate ajuta să faceți dinamic numele unui buton de comandă cu o valoare specificată a celulei într-o foaie de lucru. Vă rugăm să faceți următoarele.

1. clic Dezvoltator > Insera > Buton de comandă (control ActiveX) pentru a insera un buton de comandă în foaia de lucru. Vedeți captura de ecran:

2. După introducerea butonului de comandă, faceți clic dreapta pe fila foaie și faceți clic pe Afișați codul din meniul cu clic dreapta, după cum se arată în imaginea de mai jos:

3. În deschidere Microsoft Visual Basic pentru aplicații fereastră, vă rugăm să copiați și să lipiți mai jos codul VBA în fereastră.

Cod VBA: Faceți dinamic numele butonului de comandă cu valoarea celulei

Dim xStr As String
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xShapeRg As ShapeRange
    On Error Resume Next
    If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
        Me.CommandButton1.Caption = Target.Text
        Set xShapeRg = ActiveSheet.Shapes.Range(xStr)
        If xShapeRg Is Nothing Then Set xShapeRg = ActiveSheet.Shapes.Range("CommandButton1")
        Application.EnableEvents = False
        xShapeRg.Select
        Application.EnableEvents = True
        Selection.Name = Target.Text
    End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If (Not Intersect(Target, Range("A1")) Is Nothing) And Target.Text <> "" Then
        xStr = Target.Text
    End If
End Sub

notițe: în cod, CommandButton1 este numele butonului pe care doriți să-l faceți dinamic, iar A1 este celula pe care o veți referi automat la valoarea butonului.

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

5. Dezactivați modul Design făcând clic pe Dezvoltator > Mod de proiectare.

De acum înainte, numele butonului de comandă va fi schimbat dinamic cu valoarea celulei specificată în foaia de lucru.

După cum se arată în imaginea de mai jos, atunci când valoarea celulei A1 a fost modificată, numele butonului de comandă va fi schimbat automat la aceeași valoare.


Articole pe aceeaşi temă:

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...

Descriere


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!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Can anyone suggest how I would extend the VBA to additionally assign a macro to the command button so clicking the command button would execute a macro associated with the command button name? For example, after renaming the command button to "XYZ", also assign the macro named "XYZ" to the command button click event. Thank you for any help.
This comment was minimized by the moderator on the site
Hi sam,
Please try as follows.
1. Turn on the Design Mode by clicking Developer > Design Mode.
2. Right click the command button and select View Code in the context menu;
3. Assign your macro between line Private Sub CommandButton1_Click() and End Sub;
4. Turn off the Design Mode

Hope I can help.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations