Прескочи на основното съдържание

Как да направя името на командния бутон динамично в Excel?

Автор: Силувия Последна промяна: 2020-11-26

В тази статия се говори за динамична промяна на името на команден бутон с промяна на определена стойност на клетка. Например, когато стойността в клетка A1 е променена на „тест“, името на определен команден бутон автоматично ще бъде променено на „тест“.

Направете името на командния бутон динамично със стойност на клетка чрез VBA код


Направете името на командния бутон динамично със стойност на клетка чрез VBA код

Следният VBA код може да ви помогне да направите името на команден бутон динамично с определена стойност на клетка в работен лист. Моля, направете следното.

1. кликване Софтуерен Инженер > Поставете > Команден бутон (ActiveX Control) за вмъкване на команден бутон в работния лист. Вижте екранна снимка:

2. След като поставите командния бутон, щракнете с десния бутон върху раздела на листа и щракнете Преглед на кода от менюто с десен бутон, както е показано на екранната снимка по-долу:

3. В откриването Microsoft Visual Basic за приложения прозорец, моля, копирайте и поставете под VBA кода в прозореца.

VBA код: Направете името на командния бутон динамично със стойността на клетката

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

Забележка: в кода CommandButton1 е името на бутона, чието име искате да направите динамично, а A1 е клетката, към която автоматично ще препращате стойността към името на бутона.

4. Натисни Друг + Q клавиши за излизане от Microsoft Visual Basic за приложения прозорец.

5. Изключете режима на проектиране, като щракнете Софтуерен Инженер > Режим на проектиране.

Отсега нататък името на командния бутон ще се променя динамично със зададената стойност на клетка във вашия работен лист.

Както е показано на екранната снимка по-долу, когато стойността на клетка A1 е променена, името на командния бутон ще бъде променено на същата стойност автоматично.


Свързани членове:

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
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