簡體   English   中英

Mac版VBA Excel 2011中復選框的處理方式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM