Excel VBA:使用复选框选择行并粘贴到不同的工作表
我试图能够选中一行信息旁边的复选框,然后单击按钮粘贴到另一张表上。我在这里的工作,但我想能够选择多个框,并粘贴到另一个表点击按钮一次Excel VBA:使用复选框选择行并粘贴到不同的工作表,excel,vba,Excel,Vba,我试图能够选中一行信息旁边的复选框,然后单击按钮粘贴到另一张表上。我在这里的工作,但我想能够选择多个框,并粘贴到另一个表点击按钮一次 Private Sub CommandButton1_Click() 'TO Bid Numbers 'BID DATE If CheckBox1.Value = True Then Sheets("Bidding").Range("B3").Copy Sheets("Bid Numbers").Range("A1048576").End(xlU
Private Sub CommandButton1_Click()
'TO Bid Numbers
'BID DATE
If CheckBox1.Value = True Then Sheets("Bidding").Range("B3").Copy Sheets("Bid Numbers").Range("A1048576").End(xlUp).Offset(1, 0)
'PROJECT NAME
If CheckBox1.Value = True Then Sheets("Bidding").Range("C3").Copy Sheets("Bid Numbers").Range("B1048576").End(xlUp).Offset(1, 0)
'ESTIMATOR
If CheckBox1.Value = True Then Sheets("Bidding").Range("D3").Copy Sheets("Bid Numbers").Range("C1048576").End(xlUp).Offset(1, 0)
'OUR PRICE
If CheckBox1.Value = True Then Sheets("Bidding").Range("E3").Copy Sheets("Bid Numbers").Range("D1048576").End(xlUp).Offset(1, 0)
End Sub
这适用于窗体控件复选框: 循环检查工作表上的每个复选框,看是否勾选了。如果是,则查看
TopLeftCell
以获取复选框的位置,并将EntireRow
添加到最终将复制并粘贴到第二张图纸上的范围
Sub Test()
Dim chkBx As Shape
Dim rngToCopy As Range
For Each chkBx In ThisWorkbook.Worksheets("Sheet1").Shapes
If chkBx.Type = 8 Then
If chkBx.OLEFormat.Object.Value = 1 Then
If rngToCopy Is Nothing Then
Set rngToCopy = chkBx.TopLeftCell.EntireRow
Else
Set rngToCopy = Union(rngToCopy, chkBx.TopLeftCell.EntireRow)
End If
End If
End If
Next chkBx
rngToCopy.Copy Destination:=ThisWorkbook.Worksheets("Sheet2").Range("A1")
End Sub
到目前为止你试过什么?如果这适用于
CheckBox1
,那么您不能想出如何使其适用于CheckBox2
,等等吗?此外,您还可以在If
块中执行所有复制/过去操作。如果Checkbox1.Value=True,则无需重复执行布尔值,只需引用一个复选框。