2013-08-22 41 views
0

我从来没有做过和Excel宏,但我必须做到以下几点: 从一张纸我需要采取2列,并将其复制到另一张纸(具有更多行)。但事情是:我需要从源表中取A列和B列,并将它们复制到C列和D列到目标表BUT中,但仅限列A中单元格中的某些值的行(类似“if value”。列(A)=“值”将列A和B从源C到列D复制到目的地“,而下一部分:复制的行数小于A列中具有该特定值的行数。我想行(那些没有被覆盖)的其余部分被删除家里,我明白我感谢Excel - VBA - 如何从一张纸复制到另一张

+0

你怎么会知道目的地覆盖哪些行工作表? –

+0

我将覆盖具有特定v的行A列。但是,有更多行的值比我从Sheet2中选择的行更多,所以这就是为什么我需要删除其余部分的行。 –

回答

0

试试这个:!

Sub dural() 
    Dim rDelete As Range, N As Long 
    Sheets("Sheet1").Range("A:B").Copy Sheets("Sheet2").Range("C1") 
    Sheets("Sheet2").Activate 
    Set rDelete = Nothing 
    For N = 1 To Cells(Rows.Count, "C").End(xlUp).Row 
     If Cells(N, "C").Value <> "value" Then 
      If rDelete Is Nothing Then 
       Set rDelete = Cells(N, "C") 
      Else 
       Set rDelete = Union(rDelete, Cells(N, "C")) 
      End If 
     End If 
    Next 

    If rDelete Is Nothing Then Exit Sub 
    rDelete.EntireRow.Delete 
End Sub 
相关问题