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

How to conditionally copy the data rows from one Excel Worksheet to another

我的 "Project Master" Excel 工作表中有一个项目列表和项目详细信息,分为 4 列:项目类型、项目编号、项目价值和项目经理姓名。我想编写一个宏来将这 4 列的内容从 "Project Master" 工作表复制到同一工作簿中的另一个工作表 ("Details"),但前提是该行包含项目类型 "A" .这可能吗? 问候, CK

根据您的任务描述,示例 Worksheet 内容可能如下所示 table:

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子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")

希望这可能有所帮助。