spbhope Пользователь Сообщений: 74 |
Здравствуйте, как переименовать Command Button? |
spbhope Пользователь Сообщений: 74 |
То есть как переименовать кнопку, которой присвоен макрос? |
GIG_ant Пользователь Сообщений: 3102 |
Правой клавишей на кнопке, Объект CommandButton — Edit |
GIG_ant Пользователь Сообщений: 3102 |
Или Правой клавишей на кнопке, Исходный текст, и в инспекторе свойств меняем Сaption на нужное. |
spbhope Пользователь Сообщений: 74 |
{quote}{login=GIG_ant}{date=19.04.2011 01:19}{thema=}{post}Правой клавишей на кнопке, Объект CommandButton — Edit{/post}{/quote} Не подходит. У меня 2003 excel, не знаю — может в 2007 это есть. |
spbhope Пользователь Сообщений: 74 |
{quote}{login=GIG_ant}{date=19.04.2011 01:21}{thema=}{post}Или Правой клавишей на кнопке, Исходный текст, и в инспекторе свойств меняем Сaption на нужное.{/post}{/quote} Правой клавишей надо щелкнуть в редакторе VB или на самом листе? |
GIG_ant Пользователь Сообщений: 3102 |
выложите файл с вашей кнопкой, я вам фото пришлю ) |
spbhope Пользователь Сообщений: 74 |
{quote}{login=GIG_ant}{date=19.04.2011 01:32}{thema=}{post}выложите файл с вашей кнопкой, я вам фото пришлю ){/post}{/quote} да, было бы круто. ну вот пример прикрепил) |
GIG_ant Пользователь Сообщений: 3102 |
жмете правую клавишу мыши на вашей кнопке, выпадает меню там опция «Изменить текст» см файл |
spbhope Пользователь Сообщений: 74 |
все бы хорошо, но у меня офис 2003. |
Юрий М Модератор Сообщений: 60581 Контакты см. в профиле |
{quote}{login=spbhope}{date=19.04.2011 03:10}{thema=}{post}все бы хорошо, но у меня офис 2003.{/post}{/quote} |
spbhope Пользователь Сообщений: 74 |
Да, согласен — я просто создал заново кнопку и все получилось. У меня проблемы с кнопками в старом файле. Удалил из него все данные, оставил только кнопку. Попробуйте с ней хоть что-нибудь сделать. файл скинул. |
Hugo Пользователь Сообщений: 23252 |
|
Юрий М Модератор Сообщений: 60581 Контакты см. в профиле |
{quote}{login=spbhope}{date=19.04.2011 03:54}{thema=Re: Re: }{post}Попробуйте с ней хоть что-нибудь сделать{/post}{/quote} |
spbhope Пользователь Сообщений: 74 |
{quote}{login=Юрий М}{date=19.04.2011 04:22}{thema=Re: Re: Re: }{post}{quote}{login=spbhope}{date=19.04.2011 03:54}{thema=Re: Re: }{post}Попробуйте с ней хоть что-нибудь сделать{/post}{/quote} А как переименовать кнопку из панели инструментов «формы»? |
Юрий М Модератор Сообщений: 60581 Контакты см. в профиле |
Включить макрорекордер, переименовать, выключить рекордер и посмотреть код |
Юрий М Модератор Сообщений: 60581 Контакты см. в профиле |
Макрорекордер запишет с выделением объекта. Если нужно без выделения, то пробуем такой код: |
Guest Гость |
#18 05.05.2011 14:40:24 Пока не совсем понимаю, но все равно спасибо. |
Reference
I am trying to change the name property of ActiveX command buttons with VBA with the following code:
Set shp = ActiveSheet.Shapes(Selection.Name)
With shp.OLEFormat.Object
.Object.Caption = "Node" & Str(NumNodes)
.Name = "Node" & Str(NumNodes)
End With
I am able to change the caption name, but the name property cannot be changed with the above code. I need to find a way to concatenate a string with an int (NumNodes) for the name property.
UPDATE
This is the full subroutine which copies a command button and pastes it to a specific cell location. Properties, such as the name and caption are also changed upon button creation.
Public Sub Node_Button_Duplication()
'
'Comments: Copies and pastes Node 1's button to the appropriate column
Dim shp As Shape
' Copy Node 1 button and paste in appropriate location
ActiveSheet.Shapes("CommandButton1").Select
Selection.Copy
Cells(5, 10 + 7 * (NumNodes - 1) - 1).Select
ActiveSheet.Paste
Selection.ShapeRange.IncrementLeft 47.25
Selection.ShapeRange.IncrementTop -13.5
Set shp = ActiveSheet.Shapes(Selection.Name)
With shp.OLEFormat.Object
.Object.Caption = "Node" & Str(NumNodes)
.Name = "Node" & Str(NumNodes)
End With
End Sub
asked May 17, 2012 at 18:44
Is this what you are trying?
Set shp = ActiveSheet.Shapes(Selection.Name)
shp.Name = "Node" & Str(NumNodes)
With shp.OLEFormat.Object
.Object.Caption = "Node" & Str(NumNodes)
End With
FOLLOWUP
Just tried this and it works…
Public Sub Node_Button_Duication()
Dim shp As Shape
Dim NumNodes As Long
ActiveSheet.Shapes("CommandButton1").Select
Selection.Copy
Cells(5, 10 + 7 * (NumNodes - 1) - 1).Select
ActiveSheet.Paste
Selection.ShapeRange.IncrementLeft 47.25
Selection.ShapeRange.IncrementTop -13.5
NumNodes = 5
Set shp = ActiveSheet.Shapes(Selection.Name)
shp.Name = "Node" & Str(NumNodes)
With shp.OLEFormat.Object
.Object.Caption = "Node" & Str(NumNodes)
End With
End Sub
MORE FOLLOWUP
Try this
Set shp = ActiveSheet.Shapes(Selection.Name)
With shp.OLEFormat.Object
.Object.Caption = "Node" & Str(NumNodes)
.Name = "Node" & NumNodes
End With
Notice, I changed Str(NumNodes)
to NumNodes
?
The ActiveX Control Names cannot have spaces
Try now.
SNAPSHOT
answered May 17, 2012 at 19:04
Siddharth RoutSiddharth Rout
146k17 gold badges206 silver badges250 bronze badges
4
Изменение названия кнопки |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
5 / 5 / 1 Регистрация: 11.02.2013 Сообщений: 238 |
|
1 |
|
06.06.2013, 08:08. Показов 5884. Ответов 4
Здравствуйте, уважаемые форумчане. Возник следующий вопрос: создал записью макрос по созданию кнопки на exel-листе, но почему-то в сгенерированном коде никак не отобразлся процесс переименования кнопки. Как в коде это можно сделать?
1 |
Alex77755 11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,145 |
||||
06.06.2013, 11:29 |
2 |
|||
А из форм кнопка не подходит?
0 |
5 / 5 / 1 Регистрация: 11.02.2013 Сообщений: 238 |
|
06.06.2013, 13:29 [ТС] |
3 |
Я просто с ними никогда не имел дело. Но вроде должна подойти.
0 |
5 / 5 / 1 Регистрация: 11.02.2013 Сообщений: 238 |
|
07.06.2013, 16:37 [ТС] |
4 |
Еще раз подниму тему. Как в коде переименовать кнопку?
0 |
Hugo121 6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
||||
07.06.2013, 16:47 |
5 |
|||
1 |
Я чувствую себя таким тупицей, но не могу понять, как и где это сделать.
Я вставил командную кнопку в лист, и она пришла с именем по умолчанию «Кнопка 1». Я не могу понять, куда в интерфейсе перейти, чтобы изменить имя кнопки. (Я могу изменить текст метки кнопки, на самом деле меня интересует переименование самой кнопки).
Я пытался нажать «Режим разработки» на ленте разработчика, но, похоже, это не дает мне никаких дополнительных интерфейсов или опций для настройки атрибутов кнопки.
Помогите! (К сведению: с использованием Excel 2010).
Вы можете изменить имя кнопки (как и любого другого объекта / диаграммы), выбрав и введя текст в маленькое поле «Имя» слева от строки формул (подтвердите его, нажав Enter):
Возможно, вы пытаетесь присвоить кнопке то же имя, что и одна из ваших процедур или ссылка на ячейку, или, возможно, что-то еще, что уже существует; в противном случае вы сможете щелкнуть правой кнопкой мыши по кнопке, чтобы выбрать, а затем изменить имя в поле имени слева от строки формул.
Выберите режим «Дизайн», щелкните правой кнопкой мыши свойства «Алфавитный» и измените название подписи на желаемое имя.
Вы также можете щелкнуть правой кнопкой мыши командную кнопку, выбрать «объект командной кнопки», а затем выбрать «редактировать»
Пару лет удалили, но нажмите на узел дизайна, затем нажмите на свою кнопку, и вы получите столбцы, щелкните правой кнопкой мыши и щелкните свойства, измените имя в «заголовке» на то, которое вы хотите, чтобы оно было, нажмите «X» , затем снова нажмите на режим разработки.