【发布时间】:2015-10-23 21:50:02
【问题描述】:
我试图找出如何通过单击复选框将三行从一张纸复制到另一张纸。我正在使用来自here 的代码:
Private Sub CheckBox1_Click()
Dim SrcRange As Range, TrgRange As Range
Set SrcRange = Worksheets("Data Sheet").[B1]
Set TrgRange = Worksheets("Sheet1").[C1]
If CheckBox1 Then
TrgRange = SrcRange
Else
TrgRange = ""
End If
End Sub
这是我目前用于此过程的代码:
Private Sub CheckBox1_Click()
Dim SrcRange As Range, TrgRange As Range
Set SrcRange = Worksheets("Data Sheet").Range("A1:E1")
Set TrgRange = Worksheets("Sheet1").Range("A1:E1")
Set SrcRange = Worksheets("Data Sheet").Range("A2:E2")
Set TrgRange = Worksheets("Sheet1").Range("A2:E2")
Set SrcRange = Worksheets("Data Sheet").Range("A3:E3")
Set TrgRange = Worksheets("Sheet1").Range("A3:E3")
If CheckBox1 Then
TrgRange = SrcRange
Else
TrgRange = ""
End If
End Sub
使用此代码时不会提供任何错误,但是不会将任何数据复制并粘贴到所选工作表中。
【问题讨论】:
-
谢谢戴夫!非常感谢您的快速响应,祝您周末愉快。
-
我假设戴夫的回答有效,这很好。我很难让
CheckBox1对任何事情进行评估。我查看了link,发现我可以使用ActiveSheet.Shapes("Check Box 1").OLEFormat.Object.Value = 1作为解决方法。 -
其实戴夫,有没有办法在同一个子框中选择多个特定的行?
-
是的,例如,在我的回答中
Worksheets("Data Sheet").Range("A1:E3")影响三行。范围从 A1 到 E3。 -
对 Alex 感到抱歉,是的,这是您和 coder 我都提供的答案。有用。谢谢!