我想检查Col B
单元格值是否大于零,如果是,我想将整行复制到另一个工作表。
我的代码如下所示,它可以工作,但我想改进它,因为我使用A65000
进行硬编码。请告知如何检查Col B
单元格,直到最后填写的数据。
Sub Search_Number()
'copy row if cell greater than zero
Dim i As Range
Sheets("HVM").Select
For Each i In Range("I:I")
If i.Value > 0 Then
i.Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Copy
Sheets("Blocked").Range("A65000").End(xlUp).Offset(1, 0).PasteSpecial
End If
Next i
End Sub
答案 0 :(得分:0)
此代码检查sheet1中列b中的值是否大于0,并将整行复制到sheet2到a列中的第一个空行。此代码假定您没有标题行,并且数据从第1行开始,您希望整行粘贴到从第1行开始的另一个工作表。最后,此代码仅在sheet1是要从中复制的源时工作,而工作表2是要复印到的空白页。
Dim rng As Range
Dim cell As Range
Dim lr As Long
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Sheet1
Set ws2 = Sheet2
lr = ws1.Cells(Rows.Count, 1).End(xlUp).Row
Set rng = ws1.Range("b1:b" & lr)
For Each cell In rng
If cell.Value > 0 Then
cell.EntireRow.Copy
ws2.Select
If ws2.Range("A1").Value = "" Then
ws2.Range("a1").PasteSpecial xlPasteValues
Else
Cells((Cells(Rows.Count, "a").End(xlUp).Row) + 1, "a").PasteSpecial xlPasteValues
End If
End If
Next cell
Application.CutCopyMode = False
Range("A1").Select
End Sub