vba - 跳过未选中的复选框并将标题复制到工作表上
问题描述
我有这个带有复选框的用户表单,我想只复制复选框的标题并按顺序排列它们。
我的代码现在做什么:如果未选中复选框,则返回空单元格值,然后移动到下一个目标单元格。我不知道如何跳过未选中的框。
这是我的代码(点击时在“提交”按钮内):
'----- 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
推荐阅读
- activerecord - 在 Active Record 中建立多对多关系
- python - TensorFlow 模型的数组输出
- c# - LINQ.Where 比 LINQ Query 慢,但 LINQ Query 不能即时使用。如何优化?
- azure - 尽管低于配额,但无法在 Azure 中创建新的服务主体
- variables - 使用 set_fact 的 Ansible 变量未定义语法错误
- flutter - 为什么使用 Flutter 从 Firestore 检索数据要花费大量时间?
- php - Laravel - 过滤集合然后 -> toJson,有一个小问题
- sql-server - SQL Server:是否可以将 select @var=field from table 语法与变量数据库一起使用?
- javascript - 使用可选参数表达 app.use 路线
- ios - 字典快速编码