跳过未选中的复选框并将标题复制到 sheet
Skip Unchecked Checkbox and copy the Caption onto sheet
我有这个带有复选框的用户表单,我只想复制选中框的标题并按顺序排列它们。
我的代码现在做什么:如果复选框未选中,return 空单元格值然后移动到下一个目标单元格。我不知道如何跳过未选中的框。
这是我的代码(在 'Submit' 单击按钮内):
'----- Transfer Add-On Items to Printout Sheet ---------
Dim i As Integer
Dim j As Integer
'---- Category 1 ------
i = 6
For j = 1 To 9
If UserForm1.Controls("Checkbox" & j).Value = True Then
ThisWorkbook.Sheets("Printout").Range("A" & i).Value = Me.Controls("Checkbox" & j).Caption
Else
ThisWorkbook.Sheets("Printout").Range("A" & i).Value = ""
End If
i = i + 2
Next j
我有 9 个复选框,编号垂直向下增加,目标单元格从 A6 开始,每行增加 2 行(A6、A8、A10,直到 A22)。
将 i 变量放入部分,如下面的代码所示。空值只是用新值重写。老实说,我不明白你为什么需要 Else 块
i = 6
For j = 1 To 9
If UserForm1.Controls("Checkbox" & j).Value = True Then
ThisWorkbook.Sheets("Printout").Range("A" & i).Value = Me.Controls("Checkbox" & j).Caption
i = i + 2 'here
Else
ThisWorkbook.Sheets("Printout").Range("A" & i).Value = ""
End If
Next j
我有这个带有复选框的用户表单,我只想复制选中框的标题并按顺序排列它们。
我的代码现在做什么:如果复选框未选中,return 空单元格值然后移动到下一个目标单元格。我不知道如何跳过未选中的框。
这是我的代码(在 'Submit' 单击按钮内):
'----- Transfer Add-On Items to Printout Sheet ---------
Dim i As Integer
Dim j As Integer
'---- Category 1 ------
i = 6
For j = 1 To 9
If UserForm1.Controls("Checkbox" & j).Value = True Then
ThisWorkbook.Sheets("Printout").Range("A" & i).Value = Me.Controls("Checkbox" & j).Caption
Else
ThisWorkbook.Sheets("Printout").Range("A" & i).Value = ""
End If
i = i + 2
Next j
我有 9 个复选框,编号垂直向下增加,目标单元格从 A6 开始,每行增加 2 行(A6、A8、A10,直到 A22)。
将 i 变量放入部分,如下面的代码所示。空值只是用新值重写。老实说,我不明白你为什么需要 Else 块
i = 6
For j = 1 To 9
If UserForm1.Controls("Checkbox" & j).Value = True Then
ThisWorkbook.Sheets("Printout").Range("A" & i).Value = Me.Controls("Checkbox" & j).Caption
i = i + 2 'here
Else
ThisWorkbook.Sheets("Printout").Range("A" & i).Value = ""
End If
Next j