【发布时间】:2017-05-19 12:50:58
【问题描述】:
我想根据我感兴趣的 4 列之一是否大于 0 来复制整行。我是 VBA 新手,尝试了以下代码,但它似乎不起作用。
Sub MyViewCopy()
Set sh = Sheets("XyNewSheet")
RowCount = 0
lr2 = 0
For Each rw In sh.Rows
If (
(Cells(rw.Row, 10).Value > 0) Or (Cells(rw.Row, 12).Value > 0)
Or
(Cells(rw.Row, 14).Value > 0) Or (Cells(rw.Row, 16).Value > 0)
Or
(Cells(rw.Row, 18).Value > 0)
) Then
Rows(rw).Copy Destination:=Sheets("MyView").Range("A" & lr2 + 1)
lr2 = Sheets("MyView").Cells(Rows.Count, "A").End(xlUp).Row
RowCount = RowCount + 1
End If
Next rw
MsgBox (RowCount)
End Sub
【问题讨论】:
-
你明白你正在检查每一行直到工作表的底部......?
-
我有一个工作表 XyNewSheet,如果列 J、L、N、P、R 的值大于 0,那么我想复制到新工作表“MyView”。这就是我打算做的。
-
试着把
sh.放在所有Cells(rw...前面和Rows(rw).copy前面