当工作表变暗为工作表但不变时,“方法或数据成员未find”

考虑这个简单的例子。 在新工作表中创build一个名为Checkbox1的ActiveXcheckbox

尝试以下两个子例程。 第一个不编译“方法或数据成员未find”错误,第二个工作正常。

为什么第一个例子没有工作?

Option Explicit Sub DoesntWork() Dim ws As Worksheet Set ws = Worksheets(1) MsgBox "Checkbox state is: " + CStr(ws.CheckBox1.Value) End Sub Sub Works() Dim ws As Variant Set ws = Worksheets(1) MsgBox "Checkbox state is: " + CStr(ws.CheckBox1.Value) End Sub 

问题是行ws.CheckBox1.Value 。 你不能像这样使用它,所以你会得到这个错误。 尝试这个

 Sub Sample() Dim ws As Worksheet Dim objole As OLEObject Set ws = Worksheets(1) Set objole = ws.OLEObjects("CheckBox1") MsgBox "Checkbox state is: " & objole.Object.Value End Sub 

如果你想直接使用Object,那么你也可以使用它

 Sub Sample() Dim ws As Worksheet Set ws = Worksheets(1) MsgBox "Checkbox state is: " & Worksheets(ws.Name).CheckBox1.Value End Sub