所以我有两个文件。 File1和File2。两者都有相同的列,但一个填充,一个不填。
如果File1的一行中的File2与名称(假设A1)匹配,我想要这样做,将行Q,R和S复制到File2。
因此,如果在File1的一行中找到A1(File2)(假设在A34中),那么我想将File1的Q34,R34和S34复制到File2。
我认为第一部分需要VLOOKUP,所以我认为需要将其纳入VBA。
我应该前往的任何帮助,想法或大方向都会很棒。
答案 0 :(得分:1)
这应该做你想要的。将宏放在包含所有已填充列的工作簿中,并将路径链接更改为要将数据复制到的第二个工作簿文件。如果您的工作表名称不同,您可能还需要从“Sheet1”更改工作表名称。
Sub copyOnMatch()
Dim i As Long
Dim j As Long
Dim wbk1, wbk2 As Workbook
Set wbk1 = ThisWorkbook.Sheets("Sheet1")
WBK1Range = wbk1.Range("A" & Rows.Count).End(xlUp).Row
Set wbk2 = Workbooks.Open("Your File Path Here") 'Your Filepath here
WBK2Range = wbk2.Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
For j = 1 To WBK1Range
For i = 1 To WBK2Range
If wbk1.Cells(j, 1).Value = wbk2.Worksheets("Sheet1").Cells(i, 1).Value Then
wbk2.Worksheets("Sheet1").Cells(j, 17).Value = wbk1.Cells(i, 17).Value 'Copies over Column Q
wbk2.Worksheets("Sheet1").Cells(j, 18).Value = wbk1.Cells(i, 18).Value 'Copies over Column R
wbk2.Worksheets("Sheet1").Cells(j, 19).Value = wbk1.Cells(i, 19).Value 'Copies over Column S
Else
End If
Next i
Next j
End Sub