根据几个条件将行从一个选项卡复制到另一个选项卡

时间:2015-07-02 21:53:34

标签: excel vba copy rows copy-paste

我正在尝试将我导入到文档中的选项卡中的行复制到另一个选项卡。

<h2 id="test_status"></h2>
<div id="test"></div>

现在这个问题令我很沮丧。我知道你想知道几件测试事项:

首先,前两个代码块按预期工作 其次,如果删除if语句,它就可以了。 第三,当我用if语句代替我知道必须对所有人都是真的时,它确实运行了,但任何只会导致某些被选中的陈述根本不起作用。

我很困惑,并且花了很多时间,请帮忙!

1 个答案:

答案 0 :(得分:0)

始终更安全/更容易使用变量来引用您的工作表,并避免激活/选择您可以的位置:

Dim shtSrc As Worksheet, shtDest As Worksheet
Dim rw As Range
Dim i As Long, j As Long

Set shtSrc = Sheets("Imported Data")
Set shtDest = Sheets("60L Specific Data")

'Clears previous data from sheet
shtDest.Range("A3:AC3000").ClearContents

'Pastes Title Block from Imported into 60L sheet
shtSrc.Rows(1).Copy Destination:=shtDest.Cells(3, 1)

j = 4
'Filters using several criteria
For i = 2 To 2000
    Set rw = shtSrc.Rows(i)
    If rw.Cells(28) <> "" Or rw.Cells(29) <> "" Or _
        InStr(rw.Cells(6).Value, "K60") <> 0 Or _
        InStr(rw.Cells(6).Value, "60T") Then

        rw.Copy shtDest.Cells(j, 1)

        j = j + 1
    End If
 Next i