簡體   English   中英

Excel VBA將多個復選框的結果合並到單個工作表單元格中

[英]Excel VBA combining results from multiple checkboxes into single worksheet cell

我有一個包含20個復選框的Userform框架,每個復選框代表一個不同顏色的襯衫。

當用戶進行復選框選擇時,我希望結果(標題,而不是真/假)最終在活動行的單個單元格(第8列)中,以逗號分隔。

我是VBA編碼和動態學習的新手 - 有人可以幫忙嗎?

Edit1:If statement刪除了行繼續_

創建子例程以檢查所有Checkboxes並將數據傳遞到所選單元格。
嘗試這樣的事情:

Private Sub GetSelection()

    Dim c As MSForms.Control
    Dim cbk As MSForms.CheckBox
    Dim sel As String


    For Each c In Me.Controls '/* Iterate all controls */
        If TypeOf c Is MSForms.CheckBox Then '/* check if it is a checkbox */
            Set cbk = c '/* Set as Checkbox to get the caption property */
            If cbk Then '/* Check value, get caption if true */
                If sel = "" Then 
                    sel = cbk.Caption 
                Else 
                    sel = sel & "," & cbk.Caption
                End If
            End If
        End If
    Next

    '/* Transfer currently selected values in desired cell */
    Sheet1.Range("H" & ActiveCell.Row).Value2 = sel '/* Used H for column 8 */

End Sub

然后,您需要做的就是在所有CheckBox_Click事件中調用此子例程。

Private Sub CheckBox1_Click()

    GetSelection

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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