将行复制到具有多个范围VBA Excel中的多个条件的另一个工作表

时间:2017-03-29 02:22:54

标签: excel vba excel-vba

我正在尝试使用VBA将行从一个工作表复制到另一个工作表,如果它包含值X,并且如果列C排除了值Y,我需要它来检查列a中的单元格。

我已经用第一个标准来复制它,但不是第二个标准。

这就是我所拥有的,它不会起作用......

procedure TForm1.Button1Click(Sender: TObject);
begin
while Image1.RotationAngle < 360 do begin
Image1.RotationAngle := Image1.RotationAngle+1;
Image1.Repaint;
Sleep(1);
end;
end;

2 个答案:

答案 0 :(得分:1)

我认为你需要这样的东西

Sub Copy_2016()
    Dim Cell As Range
    Worksheets("Working - 2016").Range("A3:AO6304").ClearContents

    For Each Cell In Worksheets("Working - Data").Range("A1:A6304")
        If Cell.Value = "2016" And Not Cell.Offset(0, 2).Value = "HI" Then
            Cell.EntireRow.Copy
            Worksheets("Working - 2016").Rows(Cell.Row).PasteSpecial Paste:=xlPasteValues
        End If
    Next
End Sub

答案 1 :(得分:1)

缺少@chris neilsen答案的一件事是,粘贴的工作表(“工作 - 2016”)中间会有空白行(因为不会复制所有行),这就是我添加{{1}的原因变量。

此外,如果您只是粘贴这些值,则可以在2个代码行中使用RowDest代替Worksheets("Working - 2016").Rows(RowDest).value = Cell.EntireRow.valueCopy

<强>代码

PasteSpecial