excel 未找到ActiveX ComboBox方法或数据成员

mccptt67  于 2023-02-10  发布在  其他
关注(0)|答案(2)|浏览(229)

我在一个名为Home的工作表中有一个组合框(名为userBox),它选择了其中一个选项,比方说"User A",我所要做的就是把"User A"赋值给字符串usr,但是我一直收到编译错误:
找不到方法或数据成员

Sub fixPls()
Dim row As Integer, col As Integer, usr As String, tbl As String, found  As Boolean, k As Integer, payType As String
Set wb = ThisWorkbook
Set ws = wb.Sheets("Home")
ws.Activate

Application.DisplayAlerts = False
Application.ScreenUpdating = False

lastRow = Range("B16").End(xlUp).row
usr = ws.userBox.Value
tbl = ws.tblBox.Value
payType = ws.tpBox.Value
....

编辑:我在一个新的工作簿中尝试了一个假程序,它工作了。使用一个ActiveX组合框,为什么它有所不同?

Sub blah()
Dim rly As String
rly = Sheets(1).ComboBox1.Value
ThisWorkbook.Sheets(1).Cells(1, 10) = rly 
End Sub

单元格J1返回comboBox中选择的值。

4c8rllxm

4c8rllxm1#

如果它是ActiveX控件,则需要使用OLEObjects集合来访问它:

Debug.Print ws.OLEObjects("userBox").Object.Text
jtoj6r0c

jtoj6r0c2#

我花了一段时间才弄明白,但解决方案很简单,只需禁用受信任的文档:文件〉选项〉信任中心〉信任中心设置-转到“受信任文档”,然后单击按钮“禁用信任文档”关闭Excel并重新打开。

相关问题