首页 > 解决方案 > 在 VBA 上编辑表单控件标签标题

问题描述

尝试编辑名为的表单控件标签的文本,lblsearchreminder并确保字体为 Arial 且大小为 20。我正在从 ActiveX 文本框 1 中提取编辑后的文本,并尝试将其作为标签的标题。如果有人有任何见解,我将不胜感激。

Sub btnAltCustomSearch_Click()

    Dim strTextBox As String

    If Worksheets("User Interface").OLEObjects("TextBox1").Object.Value = "" Then
        ErrorX.Show
    Else
        strTextBox = Worksheets("User Interface").OLEObjects("TextBox1").Object.Value
        Worksheets("Muscle Wasting Database").Shapes("lblsearchreminder") = vbCrLf & "Disease: All" & vbCrLf & vbCrLf & "Keyword: " & strTextBox
        lblsearchreminder.Object.Characters.Text = "Arial"
        lblsearchreminder.Object.Font.Size = 20

    End If

End Sub

标签: vbaexcel

解决方案


是的,textbox1 是一个 ActiveX 文本框控件,但我最好使用表单控件标签。所以我试图从 ActiveX 文本框中提取输入并在表单控件标签中使用它– Thor Nagel 3 小时前

不幸的是,您无法操作表单控件标签的字体大小/名称、颜色或样式。如果您注意到 Excel 功能区上的字体组中的格式项目已“变灰”。

在此处输入图像描述

设置文本很容易

Dim lblsearchreminder As Shape
Set lblsearchreminder = Sheet1.Shapes("Label 1")
lblsearchreminder.TextFrame.Characters.Text = "Hello"

但是你不能这样做(即使 Intellisense 允许它

lblsearchreminder.TextFrame.Characters.Font.Name = "Arial"

或者

lblsearchreminder.TextFrame2.TextRange.Characters.Font.Name = "Arial"

我建议使用TextBox形状或ActiveX Label代替。

同样,您不能使用更改字体

lblsearchreminder.TextFrame.Characters.Font.Size= 20

推荐阅读