【发布时间】:2020-11-29 02:30:32
【问题描述】:
我有几天时间来解决这个问题。我正在使用 excel VBA 填写 Word Doc。 我有多个包含文本框、组合框等的用户窗体,为了保持代码小而不是一遍又一遍地创建相同的模块,我只需要更改 FormName
此代码正在填写 Word Doc
wDoc.SelectContentControlsByTitle("#MonthBox").Item(1).Range.Text = Request_Form_1.MonthBox.Value
但我想使用变量来引用模块中的用户窗体,但我得到所有类型的错误
Dim FormName As String
FormName = "Request_Form_1"
wDoc.SelectContentControlsByTitle("#MonthBox").Item(1).Range.Text = FormName.MonthBox.Value
亲切的问候
感谢您的支持 我尝试过但不起作用
- 尝试过的用户表单(NumeForma)
MsgBox UserForms(NumeForma).LunaBox.Value表单可见但我得到 error 13 type mismatch - 尝试插入包含
ShowAnyForm()调用MsgBox ShowAnyForm(NumeForma).LunaBox.Value错误“预期函数或变量”的模块 - 模块
ShowAnyForm()从Sub更改为Function使用MsgBox ShowAnyForm(NumeForma).LunaBox.Value需要错误 424 对象
【问题讨论】:
-
您搜索的是:“excel vba 用户表单名称作为变量”?
-
是的,我尝试了多种方法,但都没有成功,因为我不理解它们。这就是我在这里问的原因。我现在搜索了几天
-
你找到了
ShowAnyForm的链接?你应该提到这一点。 -
您在回答中看到了我的编辑。发现问题 ;) 另外
ShowAnyForm不是函数(不返回任何内容),它只会使用户窗体可见! -
并且不要更改 ListBox 名称(MonthBox/LunaBox)。使用一个或另一个,而不是两个
标签: excel vba variables userform