【发布时间】:2015-01-20 03:42:56
【问题描述】:
我在 Internet 和 Stackoverflow 网站上进行了彻底的搜索,但没有成功。我已经被一个问题困住了一个星期,我无法弄清楚它的正面或反面。
我一直在学习 VBA,我的参考书给出了以下示例:
Private Sub CommandButtons()
Dim intcounter As Integer, xObj As OLEObject
Dim strObj As String
intcounter = 0
strObj = ""
For Each xObj In ActiveSheet.OLEObjects
If TypeName(xObj.Object) = "CheckBox" Then
If xObj.Object.Value = True Then
intcounter = intcounter + 1
strObj = strObj & xObj.Object.Caption & Chr(10)
End If
End If
Next xObj
If intcounter = 0 Then
MsgBox "There were no CheckBoxes selected", , "No Sport"
Else
MsgBox _
"you selected" & intcounter & "checkboxes:" _
& vbCrLf & vbCrLf & _
strObj, , "Here is what you checked"
End If
End Sub
很遗憾,此代码不起作用。它应该评估工作表上的每个嵌入式项目。当代码遇到 ActiveX CheckBox 时,它应该确定 CheckBox 是否被选中。在过程结束时,将出现一个 MsgBox,确认选中了多少个(如果有)CheckBox 及其标题。
谁能帮我解决这个问题?甚至是一个链接也非常受欢迎。
提前感谢您的帮助。
【问题讨论】:
-
您好,您遇到的代码问题是什么?您能否更新您的问题以包括任何错误/它们发生在哪一行?
-
您好,Gareth,感谢您的关注。没有错误消息。只是代码不能按预期工作。它返回一个 MsgBox,其中没有未标记的复选框,但它们实际上被标记...
-
ActiveX 控件无法在 Mac 上使用。