Przejdź do głównej zawartości

Jak ustawić dynamiczną nazwę przycisku polecenia w programie Excel?

W tym artykule mowa jest o dynamicznej zmianie nazwy przycisku polecenia wraz ze zmianą określonej wartości komórki. Na przykład, jeśli wartość w komórce A1 zostanie zmieniona na „test”, nazwa określonego przycisku polecenia zostanie automatycznie zmieniona na „test”.

Uczyń nazwę przycisku polecenia dynamiczną z wartością komórki według kodu VBA


Uczyń nazwę przycisku polecenia dynamiczną z wartością komórki według kodu VBA

Poniższy kod VBA może pomóc w utworzeniu dynamicznej nazwy przycisku polecenia z określoną wartością komórki w arkuszu. Wykonaj następujące czynności.

1. kliknij Deweloper > wstawka > Przycisk polecenia (formant ActiveX) aby wstawić przycisk polecenia do arkusza. Zobacz zrzut ekranu:

2. Po wstawieniu przycisku polecenia kliknij prawym przyciskiem myszy kartę arkusza i kliknij Wyświetl kod z menu po kliknięciu prawym przyciskiem myszy, jak pokazano na poniższym zrzucie ekranu:

3. W otwarciu Microsoft Visual Basic for Applications okno, skopiuj i wklej poniższy kod VBA do okna.

Kod VBA: Uczyń nazwę przycisku polecenia dynamiczną z wartością komórki

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

Note: w kodzie CommandButton1 to nazwa przycisku, którego nazwa ma być dynamiczna, a A1 to komórka, w której automatycznie odniesiesz wartość do nazwy przycisku.

4. wciśnij inny + Q klawisze, aby wyjść z Microsoft Visual Basic for Applications okno.

5. Wyłącz tryb projektowania, klikając Deweloper > Tryb projektowania.

Od tego momentu nazwa przycisku polecenia będzie zmieniana dynamicznie wraz z określoną wartością komórki w arkuszu.

Jak pokazano na zrzucie ekranu poniżej, gdy wartość komórki A1 zostanie zmieniona, nazwa przycisku polecenia zostanie automatycznie zmieniona na tę samą wartość.


Podobne artykuły:

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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