我在一个名为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中选择的值。
2条答案
按热度按时间4c8rllxm1#
如果它是ActiveX控件,则需要使用
OLEObjects
集合来访问它:jtoj6r0c2#
我花了一段时间才弄明白,但解决方案很简单,只需禁用受信任的文档:文件〉选项〉信任中心〉信任中心设置-转到“受信任文档”,然后单击按钮“禁用信任文档”关闭Excel并重新打开。