使用多个条件在两个工作簿之间复制数据

时间:2016-05-12 15:04:06

标签: excel vba excel-vba

我正在尝试将数据从Report的Comments列复制到Master的Comments列。我尝试过Vlookup和If和函数,但它们没有用,因为我使用多个标准来识别需要复制的数据。我是编码的新手,但我相信VBA代码就是解决方案。

有人发布了类似的内容,但没有确定使用多个条件。这是他们的帖子

   Sub Copydata()
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Dim x As Workbook
Dim y As Workbook

Set x = Workbooks.Open("C:\Users\User1\Documents\Workbook1.xlsx")
Set y = Workbooks.Open("C:\Users\User1\Documents\Workbook2.xlsx")
With x.Sheets("Sheet1").UsedRange
    'Now, paste to y worksheet:
    y.Sheets("Sheet2").Range("A1").Resize( _
        .Rows.Count, .Columns.Count) = .Value
End With
x.Close
y.Close SaveChanges:=True
End Sub

以下是不同工作簿中2个工作表的摘录

报告

START_REDELIVER_INTENT

Report

1 个答案:

答案 0 :(得分:0)

非VBA解决方案: 在“主”选项卡的其中一列中,连接您正在查找的条件。在“报告”选项卡上以相同方式连接标准。然后使用连接标准查找的VLOOKUP或INDEX-MATCH。

简要示例:

 FNames      LNames   Concat                Comment
 Bill        Smith    =Concatenate(A1,B1)   =VLOOKUP(C1, Report!D1:D2)
 John        Jones    =Concatenate(A1,B1)   =VLOOKUP(C2, Report!D1:D2)

报告

 FNames      LNames   Concat                Comment
 Bill        Smith    =Concatenate(A1,B1)   Bill report submitted
 John        Jones    =Concatenate(A1,B1)   John report not submitted