是否可以(在工作表更改事件中)更改“表单控件”按钮的标题文本?
理想情况下,我想根据工作簿中的其他数据将变量添加到现有按钮标题中。
答案 0 :(得分:7)
好吧,右键单击电子表格底部的Sheet1标签,然后选择查看代码
复制粘贴以下代码
Private Sub Worksheet_Activate()
Buttons("Button 1").Caption = "NEW TEXT"
End Sub
当Sheet1被激活并且按钮上的标题更改为NEW TEXT
显然,你可以通过名字或索引来引用你的按钮。如果要修改其他对象上的文本,则可以修改"Button 1"
。
如果替换"NEW TEXT"
例如
如果在Sheet2
上您在单元格A1中键入任何内容,则可以修改Sheet1后面的代码并使用
Private Sub Worksheet_Activate()
Buttons("Button 1").Caption = Sheets("Sheet2").Range("A1")
End Sub
这样每次激活Sheet1时,按钮上的文字都将从Sheet1,Cell A1中拾取
要查找按钮的名称,请在此处查看
答案 1 :(得分:3)
我需要 TextFrame.Characters.Text 来获取标题
Worksheets("Sheet1").Shapes("button 1").TextFrame.Characters.Text = "Click"
答案 2 :(得分:2)
在此示例中,名称为“按钮1”的表单控制按钮的标题将根据“Sheet1”中更改的单元格值进行更改。按钮位于Sheet1上,代码来自Sheet1的Class-module。 HTH
' Sheet1 module:
Private Sub Worksheet_Change(ByVal Target As Range)
Const buttonName As String = "Button 1"
Dim targetButton As Excel.Button
On Error Resume Next
Set targetButton = Target.Worksheet.Buttons(buttonName)
On Error GoTo 0
If targetButton Is Nothing Then _
Exit Sub
If Target.Value <> "" Then _
targetButton.Caption = Target.Value
End Sub
答案 3 :(得分:1)
试试这个:
Window