【发布时间】:2015-08-18 21:36:18
【问题描述】:
您好,我是 Excel VBA 新手,遇到以下问题,
我的工作簿有 sheet1 = Chandler_Endorsements(包含启动 UserForm1 的按钮)。我的用户窗体有 26 个 CheckBox 和 2 个 CommandButton(复制和重置)。
每个 CheckBox 都与工作簿中 sheet2 中的一个单元格相关联。每个后续单元格都有一个值,例如。特定格式的 ABc、XYz 等。
我的目标是让用户检查他们想要选择的每个项目的复选框,然后选择“复制”(CommandButton1),然后他们可以将它们粘贴到 Word 文件中。 例如。如果他们选中了复选框 1 和 2,则与这些复选框关联的单元格会被选中并复制,然后它们会粘贴到 word 文件中。
此外,如果用户稍后取消选择该单元格之间的复选框,则应选择并复制该单元格。
我使用以下代码为每个复选框赋予价值:
Private Sub CheckBox1_Click()
CheckBox1.Caption = Range("A3").Value
End Sub
Private Sub CheckBox10_Click()
CheckBox10.Caption = Range("A14").Value
End Sub
并且,为了应对相关单元格,我使用以下代码:
If CheckBox1.Value = True Then
ActiveSheet.Range("A3").Copy
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Else: CheckBox1.Value = False
End If
If CheckBox2.Value = True Then
ActiveSheet.Range("A4").Copy
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Else: CheckBox2.Value = False
End If
但是通过使用上面的代码,它并不能处理我选择的每个单元格(选中复选框)。请帮助我输入正确的代码。
【问题讨论】:
-
单元格中是否有与复选框对应的数字顺序? (比如
CheckBox1 = Cell A3、CheckBox2 = Cell A4? -
是的。我已按数字顺序设置了 sheet1,然后使用以下代码: If UserForm1.CheckBox1.Value = True Then SelectRange = SelectRange + "," + "A3" End If 'So AS, checkbox2,3,4,5... ....
标签: vba excel checkbox userform