使用 VBA:为用户窗体上的标签控件分配值

Posted

技术标签:

【中文标题】使用 VBA:为用户窗体上的标签控件分配值【英文标题】:Using VBA: Assign value to label control on userform 【发布时间】:2015-09-05 22:58:34 【问题描述】:

我正在使用用户窗体后面的 VBA 代码。我有一个名为 block 的字符串变量,它对应于我的用户窗体上的文本标签的名称。在查看其他问题后,似乎使用控件功能可以控制用户窗体上标签的设置。块变量是标签名称的字符串。在下面的所有尝试中都会出错

 Me.Controls(block).BackColor = &HFFFF&

当我尝试对其进行硬编码以确保它是标签的确切名称时,我仍然收到错误

 Me.Controls("S111").BackColor = &HFFFF&

以下行确实有效:

 Me.S111.BackColor = &HFFFF&

当我尝试类似的技术时,我得到另一个错误:

Me.block.BackColor = &HFFFF&

我做错了什么,我正在做的事情可能吗?

【问题讨论】:

我假设block 变量存储值“S111”。我说的对吗? Me.Controls("S111").BackColor = &HFFFF& 为我工作。 Me.Controls(block).BackColor = &HFFFF& 也适合我 您收到的错误信息是什么? 代码是否真的在用户表单的代码模块中?否则Me 关键字将不会引用用户表单,因此会导致错误。 【参考方案1】:

控件Me.S111是一个对象。

Dim objObject as Object '(Not type String)
Set objObject = Me.S111
objObject.BackColor = &HFFFF&

【讨论】:

以上是关于使用 VBA:为用户窗体上的标签控件分配值的主要内容,如果未能解决你的问题,请参考以下文章

使用 VBA 设置访问表单的控件值

C#winform 主窗体上的用户控件怎样调用主窗体的一个方法!

使用另一个窗体上的控件值自动填充窗体上的控件

单击父窗体时不会触发访问 VBA 子窗体事件

如何在模块 2 中使用 Public Sub 更改用户窗体上的控件值

使用 VBA 从主窗体设置子窗体上的窗体属性