根据不同的列将行从一个工作表复制到另一个工作表

时间:2017-10-12 19:09:36

标签: excel vba excel-vba

我有一张主表(" Perk")并希望用" y"在A列进入"注册"表格和所有与" y"在B栏进入"住房"片。使用当前代码,正确的信息将复制到注册表中。住房单只是在第一张记录中拉。

Sub extractdata()
    Dim x As Long, lastrow

    lastrow = Sheets("Perk").Range("A" & Rows.Count).End(xlUp).Row

    Sheets("Housing").Range("A2:AW500").ClearContents
    Sheets("Registration").Range("A2:AW500").ClearContents
    For x = 2 To lastrow
    If Worksheets("Perk").Cells(x, 1) Like "y*" Or Worksheets("Perk").Cells(x, 1) Like "Y*" Then
    Worksheets("Perk").Cells(x, "A").EntireRow.Copy Destination:=Sheets("Registration").Range("A" & Rows.Count).End(xlUp).Offset(1)
    End If

    If Worksheets("Perk").Cells(x, 2) Like "y*" Or Worksheets("Perk").Cells(x, 2) Like "Y*" Then
    Worksheets("Perk").Cells(x, "B").EntireRow.Copy Destination:=Sheets("Housing").Range("B" & Rows.Count).End(xlUp).Offset(1, -1)
    End If
    Next x
End Sub

1 个答案:

答案 0 :(得分:1)

将此视为您的特权表,

enter image description here

这是注册表的输出

enter image description here

这是住房单的输出

enter image description here 这里发生的是声明的结果

Worksheets("Perk").Cells(x, "A").EntireRow.Copy Destination:=Sheets("Housing").Range("A" & Rows.Count).End(xlUp).Offset(1)

您正在尝试通过检查A列中的空单元格来查找住宅单的空行。

没试过,但是如果你用这个改变那行就应该有效

 Worksheets("Perk").Cells(x, "A").EntireRow.Copy Destination:=Sheets("Housing").Range("B" & Rows.Count).End(xlUp).Offset(1, -1)