Перейти к содержимому

Как сделать имя кнопки Command динамическим в Excel?

Author: Siluvia Last Modified: 2025-08-07

В этой статье рассказывается о том, как сделать так, чтобы имя кнопки Command изменялось динамически при изменении значения указанной ячейки. Например, когда значение в ячейке A1 изменится на «test», имя определенной кнопки Command автоматически изменится на «test».

Сделайте имя кнопки Command динамическим с помощью значения ячейки посредством кода VBA


Сделайте имя кнопки Command динамическим с помощью значения ячейки посредством кода VBA

Следующий код VBA поможет вам сделать имя кнопки Command динамическим в зависимости от значения указанной ячейки на листе. Пожалуйста, действуйте следующим образом.

1. Нажмите Разработчик > Вставить > Кнопка команды (Элемент управления ActiveX), чтобы вставить кнопку команды на лист. См. скриншот:

Developer > Insert > Command Button

2. После вставки кнопки команды щелкните правой кнопкой мыши вкладку листа и выберите Просмотр кода из контекстного меню, как показано на скриншоте ниже:

ight click the sheet tab and click View Code

3. В открывшемся окне Microsoft Visual Basic for Applications скопируйте и вставьте приведенный ниже код VBA в окно.

Код VBA: Сделать имя кнопки Command динамическим с помощью значения ячейки

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. Нажмите клавиши Alt + Q, чтобы выйти из окна Microsoft Visual Basic for Applications.

5. Отключите Режим конструктора, нажав Разработчик > Режим конструктора.

Теперь имя кнопки Command будет динамически изменяться в зависимости от значения указанной ячейки на вашем листе.

Как показано на скриншоте ниже, когда значение ячейки A1 изменится, имя кнопки команды автоматически изменится на то же значение.

when the value of cell A1 is changed, the name of the command button will be changed to the same value

a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

Связанные статьи:

Лучшие инструменты для повышения продуктивности в Office

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

Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени.  Щелкните здесь, чтобы получить наиболее нужную вам функцию...


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!