如何有条件地将数据行从一个Excel工作表复制到另一个Excel工作表

时间:2016-03-07 03:39:09

标签: excel excel-vba for-loop copy worksheet vba

我在" Project Master"中列出了项目和项目详情。 Excel工作表分为4列:项目类型,项目编号,项目值和项目经理'名。我想写一个宏来复制这些4列的内容来自" Project Master"工作表到同一工作簿中的另一个工作表("详细信息")但仅当该行包含项目类型" A"。这可能吗? 问候, CK

1 个答案:

答案 0 :(得分:0)

与您的任务说明相关,示例Worksheet内容可能如下表所示:

Type    Num Value   Manager Name
B       3   3.14    I. Newton
A       5   2.71    T. Edison
C       8   9.95    H. Ford
A       1   4.99    S. Jobs
D       4   21      G. Leibniz

以及执行任务的相应示例VBA Sub CopyDetails()如下所示:

Sub CopyDetails()
  Dim ws As Worksheet
  Dim LastRow As Long

  Set ws = ThisWorkbook.Worksheets("Project Master")
  LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
  For i = 2 To LastRow
    If (ws.Range("A" & i) = "A") Then
        ws.Range("B" & i & ":D" & i).Copy Destination:=Worksheets("Details").Range("A" & i)
    End If
  Next i
End Sub

或者,您可以设置对Excel Worksheet对象的引用,例如:

Set ws = ThisWorkbook.Worksheets("Sheet1")

希望这可能会有所帮助。