Надпись на кнопке vba excel

Элемент управления пользовательской формы CommandButton, используемый в VBA Excel для запуска процедур и макросов. Свойства кнопки, примеры кода с ней.

UserForm.CommandButton – это элемент управления пользовательской формы, предназначенный исключительно для запуска процедур и макросов VBA Excel.

Элемент управления CommandButton

Для запуска процедур и макросов обычно используется событие кнопки – Click.

Свойства элемента CommandButton

Свойство Описание
AutoSize Автоподбор размера кнопки. True – размер автоматически подстраивается под длину введенной надписи (заголовка). False – размер элемента управления определяется свойствами Width и Height.
BackColor Цвет элемента управления CommandButton.
Caption Надпись (заголовок) – текст, отображаемый на кнопке.
ControlTipText Текст всплывающей подсказки при наведении курсора на кнопку.
Enabled Возможность взаимодействия пользователя с элементом управления CommandButton. True – взаимодействие включено, False – отключено (цвет надписи становится серым).
Font Шрифт, начертание и размер текста надписи.
Height Высота элемента управления.
Left Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления.
Picture Добавление изображения вместо текста заголовка или дополнительно к нему.
PicturePosition Выравнивание изображения и текста на кнопке.
TabIndex Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой нажатием клавиш «Tab», «Enter». Отсчет начинается с 0.
Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления.
Visible Видимость элемента управления CommandButton. True – элемент отображается на пользовательской форме, False – скрыт.
Width Ширина элемента управления.
WordWrap Перенос текста заголовка на новую строку при достижении ее границы. True – перенос включен, False – перенос выключен.

В таблице перечислены только основные, часто используемые свойства кнопки. Все доступные свойства отображены в окне Properties элемента управления CommandButton.

Пример кнопки с надписью и изображением

Пример кнопки с надписью и изображением

Примеры кода VBA Excel с кнопкой

Изначально для реализации примеров на пользовательскую форму UserForm1 добавлена кнопка CommandButton1.

Пример 1

Изменение цвета и надписи кнопки при наведении на нее курсора.

Условие примера 1

  • Действия при загрузке формы: замена заголовка формы по умолчанию на «Пример 1», замена надписи кнопки по умолчанию на «Кнопка», запись цвета кнопки по умолчанию в переменную уровня модуля.
  • Сделать, чтобы при наведении курсора на кнопку, она изменяла цвет на зеленый, а надпись «Кнопка» менялась на надпись «Нажми!»
  • Добавление кода VBA Excel, который будет при удалении курсора с кнопки возвращать ей первоначальные настройки: цвет по умолчанию и надпись «Кнопка».

Решение примера 1

1. Объявляем в разделе Declarations модуля пользовательской формы (в самом начале модуля, до процедур) переменную myColor:

2. Загружаем пользовательскую форму с заданными параметрами:

Private Sub UserForm_Initialize()

  Me.Caption = «Пример 1»

    With CommandButton1

      myColor = .BackColor

      .Caption = «Кнопка»

    End With

End Sub

3. Меняем цвет и надпись кнопки при наведении на нее курсора мыши:

Private Sub CommandButton1_MouseMove(ByVal _

Button As Integer, ByVal Shift As Integer, _

ByVal X As Single, ByVal Y As Single)

  With CommandButton1

    .BackColor = vbGreen

    .Caption = «Нажми!»

  End With

End Sub

4. Возвращаем цвет и надпись кнопки при удалении с нее курсора мыши:

Private Sub UserForm_MouseMove(ByVal _

Button As Integer, ByVal Shift As Integer, _

ByVal X As Single, ByVal Y As Single)

  With CommandButton1

    .BackColor = myColor

    .Caption = «Кнопка»

  End With

End Sub

Все процедуры размещаются в модуле пользовательской формы. Переменная myColor объявляется на уровне модуля, так как она используется в двух процедурах.

Пример 2

Запуск кода, размещенного внутри процедуры обработки события Click элемента управления CommandButton:

Private Sub CommandButton1_Click()

  MsgBox «Код внутри обработки события Click»

End Sub

Пример 3

Запуск внешней процедуры из процедуры обработки события Click элемента управления CommandButton.

Внешняя процедура, размещенная в стандартном модуле проекта VBA Excel:

Sub Test()

  MsgBox «Запуск внешней процедуры»

End Sub

Вызов внешней процедуры из кода обработки события Click

  • с ключевым словом Call:

Private Sub CommandButton1_Click()

  Call Test

End Sub

  • без ключевого слова Call:

Private Sub CommandButton1_Click()

  Test

End Sub

Строки вызова внешней процедуры с ключевым словом Call и без него – равнозначны. На ключевое слово Call можно ориентироваться как на подсказку, которая указывает на то, что эта строка вызывает внешнюю процедуру.

Как уже было сказано во введении, у программных объектов имеются различные свойства. Первое очевидное желание заключается в том, чтобы просмотреть (а затем и изменить) значения свойств объектов. Для просмотра свойств объекта его необходимо сначала выделить в режиме конструктора (щелкнуть на нем мышью), а затем с помощью пиктограммы Свойства (она расположена рядом с пиктограммой Режим конструктора) открыть окно свойств (рис. 1.8).

Рис. 1.8. Окно свойств объекта

Рис. 1.8. Окно свойств объекта

В окне свойств отображается таблица набор строк в два столбца. При этом левый столбец отводится для названий свойств, а в нравом расположены значения этих свойств. Понятно, что содержание левого столбца изменить нельзя свойства объекта уже определены его разработчиком (компанией Microsoft). А значения свойств мы поменять можем для этого достаточно щелкнуть в ячейке правого столбца и изменить се содержание.

Если приглядеться к окну на рис. 1.8, то мы увидим, что для ряда свойств возможны только два варианта значений. Например, для свойства Visible (определяет видимость объекта на экране) возможны только значения False и True. Такая ситуация наблюдается и для ряда других свойств. Среди них можно отметить Enabled определяет доступ к объекту в режиме выполнения (если установить для этого свойства значение False и выйти из режима конструктора, то объект будет недоступен). Свойство AutoSize позволяет обеспечить автоматическую подгонку размеров кнопки под размер текста, расположенного на ней. Такое будет происходить, если установить True в качестве значения данного свойства.

Для некоторых других свойств следует устанавливать числовые значения. Так, местоположение и размеры элемента управления определяются следующими свойствами:

  • Width ширина;
  • Height высота;
  • Тор координата верхней границы элемента, начиная от верхней части листа;
  • Left координата левой границы элемента, начиная от левой части листа.

Если для свойства Enabled установлено значение False, то элемент управления на экране будет выглядеть более блекло (такая ситуация знакома по работе с различными приложениями, когда ряд разделов меню недоступен).

Рис. 1.9. Палитра цветов

Рис. 1.9. Палитра цветов

Если теперь в режиме конструктора выбудете перемещать созданную на листе кнопку но экрану и изменять ее размеры (с помощью окружающих ее маркеров), то соответствующие значения в окне свойств будут меняться. И наоборот, изменив значения в окне свойств, вы увидите изменения на экране. Для установки значений ряда свойств следует использовать пиктографические меню. Так, с помощью свойства BackColor можно изменять цвет кнопки. Для этого всего лишь требуется щелчком мыши выбрать необходимый цвет (рис. 1.9). Аналогичное свойство ForeColor определяет цвет текста на кнопке. За надпись на кнопке отвечает другое свойство Caption. Если напротив названия этого свойства ввести текст (рис. 1.10), то мы увидим его и на кнопке.

Рис. 1.10. Установка значения свойства Caption

Рис. 1.10. Установка значения свойства Caption

Для изменения шрифта текста на кнопке имеется свойство Font. Если в окне свойств попытаться изменить его значение, то перед вами откроется знакомое (но работе с различными приложениями) окно для выбора шрифта и размера букв (рис. 1.11). При этом технические действия здесь выполняются с помощью щелчков мышью.

Рис. 1.11. Окно диалога для выбора шрифта надписи на кнопке

Рис. 1.11. Окно диалога для выбора шрифта надписи на кнопке

Еще одно интересное свойство, Picture, позволяет разместить на кнопке изображение (рис. 1.12) из графического файла. Для этого в качестве значения свойства следует указать имя файла. Это действие производится с помощью стандартного диалогового окна (рис. 1.13), в котором необходимо выбрать один из графических файлов на компьютере либо в сети. В случае, если вы захотите убрать изображение, то в ноле для значения данного свойства следует воспользоваться клавишей Delete.

Во введении уже упоминалось, что основное свойство объекта это имя. В окне свойств оно называется Name. Как мы видели (см. рис. 1.8) на примере создания кнопки, Excel автоматически присвоил ей имя. Имя первой созданной кнопки на рабочем листе по умолчанию CommandButtonl, которое вы при желании можете изменить. Явной необходимости изменения имен, которые присваиваются по умолчанию, нет. Однако очень часто программисты назначают объектам свои имена. Это связано с тем, что к любым объектам на листе мы можем получить доступ из текста программы (фактически требуется обращаться к свойствам и методам этих объектов), указав имя конкретного объекта. В связи с этим с точки зрения организации программного кода часто удобнее использовать свою систему назначения имен объектов.

Рис. 1.12. Размещение на кнопке изображения

Рис. 1.12. Размещение на кнопке изображения

Система формирования имен по умолчанию заключается в комбинации типа элемента управления (CommandButton — командная кнопка) и числа (порядкового номера элемента управления данного типа).

Для первой созданной кнопки имя — CommandButton1. Если мы на рабочем листе разместим еще одну кнопку, то она будет иметь имя CommandButton2. При добавлении последующих кнопок данный принцип сохраняется. Если вы все же решитесь изменить имя, то вместо CommandButton1 в окне свойств следует набрать слово или словосочетание, которое вас устраивает. Но заметим, что оно должно быть без пробелов внутри (частая ошибка в первых разработках). В качестве примера подберем новое имя для кнопки — PrimerButton.

Рис. 1.13. Окно диалога для выбора графического файла

Рис. 1.13. Окно диалога для выбора графического файла

Теперь, если вы произвели описанные выше установки (а также убрали изображение очистили значение в свойстве Picture), кнопка будет выглядеть так, как показано на рис. 1.14. Для свойства AutoSize здесь установлено значение True, что позволяет подогнать размеры кнопки под расположенную на ней надпись.

С подобных шагов начинается любая разработка на листе размещаются элементы ActiveX, и ряду их свойств присваиваются необходимые значения. На первый взгляд свойства Name и Caption похожи, и кажется, одно из них является лишним. Однако это не так, и в связи с этим дадим небольшое пояснение. Дело в том, что Name внутреннее название объекта, и значение этого свойства используется на программном уровне (во введении об этом уже шла речь). Если мы хотим использовать в программном коде обращение к свойствам и методам объекта, то в строке программной процедуры необходимо указать имя объекта. Свойство же Caption отвечает просто за надпись на кнопке, и значение его только отображается на экране.

Реально у каждого элемента ActiveX имеется много свойств. Некоторые из них являются общими для большинства (или даже для всех) элементов ActiveX, а другие свойства уникальны для определенных элементов управления.

Рис. 1.14. Установка свойств кнопки

Рис. 1.14. Установка свойств кнопки

Таким образом, результатом выполненных действий явились создание нового объекта в нашей рабочей книге Microsoft Excel и установка значений для ряда его свойств. Вообще, в режиме конструктора мы размещаем на рабочем листе элементы ActiveX и устанавливаем значения их свойств, а в режиме выполнения работаем с созданными объектами (щелкаем кнопками, вводим текст в текстовые окна и т. д.).

В этой статье мы познакомимся с классом CommandButton VBA языка, который отвечает за создание и настройку кнопки. В предыдущей статье я описал компонент Label, тут, в примерах, я его тоже буду использовать, просто хочу пойти по принципу – постепенно усложняем код и увеличиваем код.

Скажу честно, мне намного интересней описывать синтаксис самого языка, чем работу визуальными элементами. Компонент vba — CommandButton обладает следующими основными свойствами:

Cancel – данное свойство актуально, если пользователю нужно подтвердить или отменить выбор. Так если мы создадим кнопку с именем Отмена, и при нажатии на нее должно произойти закрытие формы, то если задано значении true для данного свойства —  кнопка будет нажиматься автоматически при нажатии на клавишу Esc.

Caption – собственно, надпись на кнопке

Name – имя объекта CommandButton vba языка, как правило имя аналогично названию класса (CommandButton1, CommandButton2, … , CommandButtonN). Лучше устанавливать что то более понятное, например, bOk, bEsc, bSumm и так далее.

Default  — при значении в true, произойдет автоматическое нажатие кнопки при нажатии на клавиатуре клавиши Enter.

Picture – позволяет указать путь к пиктограмме, которая будет отображаться вместо надписи на CommandButton.

Enable – определяет активность (true) или неактивность (false) объекта для класса CommandButton vba языка.

Visible – как и для остальных объектов, свойство позволяет скрыть (false) или показать (true) элемент управления.

Accelerator – позволяет задать комбинацию клавиш для данного элемента управления. Вы просто прописываете имя клавиши, комбинация осуществляется вместе с клавишей Alt.

И так, теперь приступим к практике.

Добавляем компонент:

Откройте редактор VBA (Alt +F11) и добавьте в проект новый модуль (Insert/Module) и форму (Insert/UserForm). Великолепно, в окне проектов откройте добавленный объект класса UserForm, в окне Свойств установите следующие значения:

  • Caption – “Работа с кнопками”
  • Height – 147.75
  • Width – 300.75

Хорошо, теперь в окне ToolBox (View/ToolBox) выберите элемент управления Label и добавьте его на форму, установите следующие значения:

  • Caption – оставляем пустым!!!
  • Height – 24
  • Width – 282
  • Left – 6
  • Top — 6

Теперь нам нужно добавить на форму пять кнопок, первые три кнопки должны располагаться сразу под надписью друг за другом, определите для них следующие значения:

  • Name – Button1, Button2 и Button3
  • Caption – Кнопка 1, Кнопка 2 и Кнопка 3
  • Height – для всех 24
  • Width – для всех 72
  • Top – для всех 48
  • Left – 18, 108 и 198

Теперь в самый низ добавьте еще две кнопки, со следующими значениями:

  • Name – ButtonExit и ButtonNoActive
  • Caption – Выход и Неактивная
  • Height – для всех 24
  • Width – для всех 120
  • Top – для всех 90
  • Left – 18и 156

Для кнопки под именем ButtonNoActive установите свойство Enable в false.

Элементы Label и CommandButton на форме

Хорошо, мы подготовили форму и все нужные нам элементы управления, теперь давайте определимся с целью:

При нажатии на первые три кнопки класса vba CommandButton, в поле Label должны отображается надписи вида “нажата такая-то …”, плюс, цвет текста должен тоже измениться. Одна из нижних кнопочек должна отвечать за выход, а другая будет всегда неактивной.

Теперь давайте приступим к программированию, в редакторе кода для модуля как всегда пишем:

Sub Module2()
UserForm2.Show
End Sub

Тут мы просто говорим, что при запуске макроса должна отобразиться форма.

В редакторе кода для самой формы (что бы его открыть, можете просто дважды щелкнуть по форме) пропишите следующие процедуры:

PrivateSub ButtonExit_Click()
Unload Me
End Sub

Тут происходит обработка события Click для ButtonExit, Unload Me – отвечает за удаление из памяти (закрытие) текущего объекта (UserForm), проще говоря, “Выход”.

Private Sub UserForm_Activate()
Label1.Caption = "Нажмите на любую кнопку"
Label1.FontSize = 20
Label1.ForeColor = &H0
Label1.TextAlign = fmTextAlignCenter
End Sub

Обработка события Activate для класса UserForm – как только запустится макрос, в поле Надпись появится заданный текст, размером в 20, черного цвета, он будет расположен по центру.

Private Sub Button1_Click()
Label1.Caption = "Нажата Кнопка 1"
Label1.ForeColor = &H66FF
End Sub
 
Private Sub Button2_Click()
Label1.Caption = "Нажата Кнопка 2"
Label1.ForeColor = &HFF6600
End Sub
 
Private Sub Button3_Click()
Label1.Caption = "Нажата Кнопка 3"
Label1.ForeColor = &H33CC00
End Sub

Процедуры в редакторе кода

Последние три процедуры отвечают за обработку одинарного клика по трем кнопкам, что находятся сразу под надписью. Будет меняться текст Надписи и его цвет. И так, в этой статье мы рассмотрели класс CommandButton языка VBA.

«Excel» (Word) VBA кнопки.

Кнопки в Эксель

Кнопки в Эксель

Наверняка Вам доводилось встречать файлы «Excel» (Word) с размещенными на листах различными кнопками, по нажатию на которые происходит запуск макроса или иные действия.

Хотите узнать, как размещать кнопки на листах Excel(Word)? Тогда читайте статью дальше.

Рассмотрим 2 типа кнопок:

Самая обычная кнопка, называемая CommandButton- эта кнопка нажимается кликом и запускает какое-либо действие, записанное за ней.

Вторая кнопка называется ToggleButton и является выключателем или переключателем. Она может не только запускать действия, но и сама может нести в себе информацию – обладать двумя значениями: False и true, что соответствует ее состоянию нажата или отжата.

CommandButton выглядит так:

CommandButton

CommandButton

ToggleButton  выглядит так:

ToggleButton

ToggleButton

Процесс добавления кнопок на лист Excel (Word):

  1. Если у Вас в ленте не включена панель «Разработчик», ее нужно включить следующим образом:
    • Кликнуть по ленте правой кнопкой мыши и в выпадающем контекстном меню выбрать пункт «Настройка ленты…»
      Настройка ленты
      Настройка ленты
    • В появившемся окне на вкладке «Настроить ленту» установить флажок («галочку») напротив пункта «Разработчик»
      Настройка ленты. Разработчик
      Настройка ленты. Разработчик
    • Нажать кнопку «Ок»
  2. Когда на панели появилась вкладка разработчик, перейдите на нее и нажмите кнопку «Режим конструктора».
    Режим конструктора Excel
    Режим конструктора Excel
  3. При включённом режиме конструктора становиться активной кнопка с инструментами. Кликнув по кнопке с инструментами можно выбрать понравившейса Вам активный элемент: CommandButton или ToggleButton .
    Инструменты в режиме конструктора
    Инструменты в режиме конструктора
  4. Когда элемент выбран, удерживая нажатой левую кнопку мыши, выделите область на листе, в которую Вы хотите поместить этот элемент.
  5. Кнопка появиться в указанной области.

В режиме конструктора свойства кнопки можно менять и перемещать ее по листу. Вне режима конструктора кнопка просто выполняет свою функцию – нажимается.

Внимание: Если У вас не получается выделить кнопку на листе Excel, включите режим конструктора.

Основные свойства кнопок:

CommandButton:

BackColor – цвет фона кнопки.

Caption – Надпись на кнопке.

Enabled – состояние кнопки включена или отключена (активна или неактивна).

Font – шрифт надписи на кнопке.

ForeColor – Цвет надписи на кнопке.

Height  — высота кнопки.

Width – ширина кнопки.

Picture – изображение на поверхности кнопки.

WordWrap – перенос текста кнопки.

ToggleButton:

Свойства практически те же что и у CommandButton, добавляются параметры:

Value – это значение кнопки False и true, нажата или отжата.

TripleState – включает или отключает тройное нажатие (три состояния переключателя)

 

IvanSh

Пользователь

Сообщений: 57
Регистрация: 16.02.2014

Еще раз здрасте!
Так получилось, что я навтыкал в проект кучу кнопок из Элементов управления форм. Кнопки запускают макросы.
Теперь возникла необходимость по определенному событию с помощью макроса(либо иным способом) менять текст в этих кнопках (делать перевод на другой язык).
Например Button1 = «Играть», после выполнения макроса Button1 = «Play»

 1. Как вообще определить названия этих кнопок, тк в свойствах их нигде нет?
 2. Можно ли будет обойтись без русских слов в коде VBA (текст кнопок планирую подгружать с соседнего листа)?
 3. Как выглядит пример такой функции.
 4. После переименования не слетят ли навешенные на них макросы?

Может кто-то вспомнит по ActiveX, но это крайний случай, если не получится с обычными кнопками ))

Изменено: IvanSh17.02.2014 22:35:37

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#2

17.02.2014 22:28:52

В общем случае так:

Код
ActiveSheet.DrawingObjects("ИмяВашейКнопки").Characters.Text = "Мой текст"
 

IvanSh

Пользователь

Сообщений: 57
Регистрация: 16.02.2014

Как узнать ИмяВашейКнопки?  Это то что на ней в данный момент написано?

Если так то вот что выдает:

Изменено: IvanSh17.02.2014 22:38:42

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Дайте пример файла с парой кнопок — всем будет проще.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#5

17.02.2014 22:53:40

Цитата
IvanSh пишет:
Как узнать ИмяВашейКнопки?Это то что на ней в данный момент написано?

Нет — это разные вещи. См. файл.

Прикрепленные файлы

  • Текст на кнопке.xls (23 КБ)

 

IvanSh

Пользователь

Сообщений: 57
Регистрация: 16.02.2014

Юрий, не работает как нужно. Я просто макрос вызываю не той кнопкой, которую переименовываю )) А вот на которую жму она переименовывается.
Задача одним кликом определенной кнопки перевести все кнопки проекта на другой язык, при чем язык так же задается динамически (но это другая история).

 

IvanSh

Пользователь

Сообщений: 57
Регистрация: 16.02.2014

#7

17.02.2014 23:11:42

Цитата
Hugo пишет:
Дайте пример файла с парой кнопок — всем будет проще.

Вот пример, там и задание ))

Прикрепленные файлы

  • Текст на кнопке.xls (33.5 КБ)

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#8

17.02.2014 23:30:10

тупо:

Код
Sub Кнопка6_Щелчок()
    For I = 2 To 4
    ActiveSheet.Shapes.Range(Array("Button " & I)).Select
    Selection.Characters.Text = "Button " & I-1
    Next
End Sub

Изменено: Sanja17.02.2014 23:34:38

Согласие есть продукт при полном непротивлении сторон.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Если одна кнопка должна поменять язык на всех остальных, то так (см. файл)

 

Как узнать ИмяВашейКнопки?

Изменено: Александр Моторин18.02.2014 00:19:54

 

anvg

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#11

18.02.2014 05:05:30

Цитата
тк в свойствах их нигде нет?

Посмотреть свойства Button можно в Object Browser, если включить в его вспомогательном меню Show Hidden Members. И как вариант, в дополнение к решению Юрия М, не обходя все Shape на листе.

Код
    Dim pButton As Button
    For Each pButton In ActiveSheet.Buttons
        If pButton.Name <> "Button 4" Then
            If Lang Then
                pButton.Text = "My first text"
            Else
                pButton.Text = "Мой первый текст"
            End If
        End If
    Next
    Lang = Not Lang

Успехов.

 

IvanSh

Пользователь

Сообщений: 57
Регистрация: 16.02.2014

Ребята, спасибо! Это то что нужно ))) щас  буду пробовать, но только буду обзывать кнопки не все одинаково, а текст кнопки будет соответствовать значению массива (списка) в соответсвии с цифрой в конце названия кнопки: Button1.Characters.Text = mass[1], Button2.Characters.Text = mass[2] … и тд

Хотя судя по всему придется использовать двумерный массив mass[i,j], где i — перевод слова, j -язык

Изменено: IvanSh18.02.2014 08:26:57

 

IvanSh

Пользователь

Сообщений: 57
Регистрация: 16.02.2014

#13

18.02.2014 12:38:44

Короче потестил предложенный код: Юрий М спс у Вас все работает, мне нужна была именно строчка:

Код
ActiveSheet.DrawingObjects("Button1").Characters.Text = "New name"

Алекс Моторин Вам отдельный респект, что указали на мою невнимательность. Теперь переименовал все кнопки и привел в порядок.

Anvg, к сожалению Ваш вариант так и не заработал.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#14

18.02.2014 13:26:14

Цитата
IvanSh пишет:
мне нужна была именно строчка:

Код
 ActiveSheet.DrawingObjects("Button1").Characters.Text = "New name" 

Эта строчка была у Вас ещё в первом ответе))

 

Александр Моторин

Пользователь

Сообщений: 958
Регистрация: 31.12.2012

#15

18.02.2014 13:40:41

Код
Option Explicit
Dim K
Sub QWERT()
K = IIf(K = 3, 2, 3)
переименовать K
End Sub
Sub переименовать(Z)
Dim i
For i = 1 To 8
ActiveSheet.DrawingObjects("Кнопка " & i).Characters.Text = WorksheetFunction.VLookup(i, Range("язык"), Z, 0)
Next
End Sub

 

IvanSh

Пользователь

Сообщений: 57
Регистрация: 16.02.2014

#16

18.02.2014 16:10:10

Александр спасибо, за меня сделали код. Только собрался писать, именно это и нужно было реализовать ))) тока табличка с текстом кнопок будет на другом листе.

Единственно не понимаю зачем такие усложнения, я сделал проще:

Код
j = WorksheetFunction.Match(Sheets("List1").Range("F34").Value, Range("Lang"), 0)

For i = 1 To Button_count    /количество кнопок/
     Sheets("Любой лист").DrawingObjects("Button" & i).Characters.Text = WorksheetFunction.VLookup(i, Range("Button_transl"), j, 0)
Next 

Изменено: IvanSh18.02.2014 21:42:42

 

IvanSh

Пользователь

Сообщений: 57
Регистрация: 16.02.2014

#17

18.02.2014 16:11:49

Цитата
Юрий М пишет:
Эта строчка была у Вас ещё в первом ответе))

Да, виноват, мне просто в голову не пришло посмотреть в левое окошечко с названием кнопки )) и я долго искал где название кнопки посмотреть. Так сказать идей много, а матчасть на двоечку )

Изменено: IvanSh18.02.2014 16:12:23

Понравилась статья? Поделить с друзьями:
  • Надпись на всех страницах word
  • Надпись конфиденциально в word
  • Надпись в word на русском
  • Надпись в excel по вертикали
  • Надпись wordart в word