将数据从工作簿复制到匹配列和行的另一个工作簿

时间:2018-07-11 11:04:57

标签: excel vba

我有一个主数据文件(Conso.xls),在这里我合并了来自多个国家(Country1、2、3.xls)的信息。 Conso和Country都有相同的行,这是费用概念,它们在A4:A32中。每周的列标题(例如W31,W32,w33)在不同的位置或单元格(取决于国家/地区),但始终位于第二行。例如,在一个Excel文件中,W31将在A2中,而在另一个D2中(总是第二行,但在另一列中)。

我正在尝试创建一个宏,该宏在国家/地区簿中查找列标题,并将其下的数据复制到Conso书中,复制到具有相同标题(W31,w32,w33)的列等。很高兴弹出一个msgbox并询问要将数据复制到工作簿中的哪个特定工作表。

Sub test()
Dim r As Range, c As Range, msg As String
With Sheets("Backend - raw").Range("4:4").CurrentRegion
    For Each r In Sheets("Backend - processed").Range("b7:t7")
        Set c = .Rows(1).Find(r.Value, , , xlWhole, , 0)
        If Not c Is Nothing Then
            .Columns(c.Column).Copy
            r.PasteSpecial xlPasteValues
        Else
            msg = msg & vbLf & r.Value
        End If
    Next
    Application.CutCopyMode = False
End With

End Sub

0 个答案:

没有答案