vba excel,如何重命名用户表单上的文本框

问题描述 投票:0回答:2

我在用户窗体上创建了 112 个文本框。 请帮忙用宏重命名它们。

-TextBox21 - TextBox43 ==> aTextBox21 - aTextBox43
-TextBox44 - TextBox66 ==> bTextBox21 - bTextBox43
-TextBox67 - TextBox89 ==> cTextBox21 - cTextBox43
-TextBox90 - TextBox112 ==> dTextBox21 - dTextBox43
excel textbox rename userform
2个回答
1
投票

这需要在信任中心选项中选中“Microsoft Visual Basic For Applications Extensibility 5.3”和“信任对 Visual Basic 项目的访问”的 VBProject 参考集。

Dim f

Set f = Application.VBE.ActiveVBProject.VBComponents("UserForm1")

f.Designer.Controls("TextBox1").Name = "blah"

0
投票

感谢蒂姆的回答。你能帮助我吗,因为我收到以下错误。

运行时错误“5” 无效的过程调用或参数

用户窗体“frmInv”的现有文本框控件名称位于 Excel 范围 Q2:Q25 中。替换名称在 R2:R25 范围内。我正在尝试用一些有意义的名称替换文本框名称。我已经检查了相关参考资料和信任访问。

我的VBA代码如下。

Private Sub namingTxtbox()
 Dim inv As Worksheet
 Set inv = Worksheets("inv")
 Dim cell As Range
 Dim f
 Set f = Application.VBE.ActiveVBProject.VBComponents("frmInv")
 For Each cell In inv.Range("Q2:Q25")
    f.Designer.Controls(cell.Value).Name = cell. Offset(0,1).value
 Next
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.