[英]How checkboxes are handled in VBA Excel 2011 for Mac
我已經通過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及其標題。
有人可以幫我嗎? 甚至一個鏈接都將受到歡迎。
預先感謝您的協助。
您需要將if條件修改為:
= "CheckBox"
您之間有一個空格,這就是為什么。
只是為了擴展(通過手機發布):
TypeName
函數返回對象的名稱,並且在if條件中使用時,需要區分大小寫和正確的庄園。 在您的情況下,您需要使用:
If TypeName(xObj.Object) = "CheckBox" Then
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.