【问题标题】:How can I reference a label on a Worksheet using Excel VBA如何使用 Excel VBA 引用工作表上的标签
【发布时间】:2021-04-12 16:52:23
【问题描述】:

我想以编程方式引用工作表(不是用户窗体)上有一系列标签。

具体来说,我想在我选择的任何标签中为文本加下划线。

我正在努力寻找正确的语法,因为所有示例都引用了用户表单。我想如果我创建了一个标签变量,我可以为这个变量分配一个标签,然后将其下划线属性设置为 true。

大致如下:-

Dim lbl as Label

Set lbl = ActiveSheet.Labels("lblTest")  

(or Set lbl = ActiveSheet.Controls("lblTest"))

lbl.Font.Underline = True

但我找不到正确的语法。

21 年 10 月 1 日更新

我现在可以使用这段代码了

  Dim lbl As MSForms.Label
  
  Set lbl = ActiveSheet.OLEObjects("lblTest").Object

  lbl.Font.Underline = True

使用.Object 引用似乎可以让您获得标签的任何属性。

我修改了这篇文章中的代码:-

Edit Form Control Label Caption on VBA

【问题讨论】:

    标签: excel vba label


    【解决方案1】:

    您需要使用 Shapes 集合。这个链接应该让你走上正轨:

    Underline property of textbox not working like the others

    【讨论】:

    • 我还没有完全做到。这是我的最新尝试:- Dim lbl As Shape Set lbl = ActiveSheet.Shapes("lblTest") lbl.TextFrame.Characters.Font.Underline = msoUnderlineSingleLine 但我只是得到'对象不支持此属性或方法'即使我按照对象提示到达那里!
    • 你使用了 =msoUnderlineSingleLine,它是用于 TextFrame2 的。您正在使用 TextFrame,因此请尝试 =xlUnderlineStyleSingle。
    • 我已经为下划线尝试了各种常量,但它们都不起作用。它们只是命名为整数常量,因此您使用的应该没有区别。我已经尝试了带有 Shapes 集合的表单标签类和带有 OLEObjects 集合的 ActiveX 标签类,并且我还尝试了带有文本框的它,但没有任何成功。这让我觉得我错过了一些更基本的东西。我可以使用 Select Case 来处理所有可能性,但这不会特别优雅,我不喜欢放弃!
    • 你能.Select有问题的形状吗?
    • 我可以使用.Select.Height.Width 之类的东西,但仍然无法访问字体属性。
    猜你喜欢
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多