如何有条件地将数据行从一个 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")
希望这可能有所帮助。
我的 "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")
希望这可能有所帮助。