2016-10-25 6 views
0

Ich habe Tonnen von Excel-Dateien, die ich in 1 Excel-Datei zusammenführen und ich muss den Spaltennamen oder Header in der ersten Zeile setzen. Ich habe 3 Spalten: customerid, Datum, Vorhersage. Wie lege ich den Spaltennamen in Zelle A1, B1 und C1 in VBA-Code? Vielen Dank.VBA Excel-Spalte Header

Sub simpleXlsMerger() 
Dim bookList As Workbook 
Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object 
Application.ScreenUpdating = False 
Set mergeObj = CreateObject("Scripting.FileSystemObject") 

'change folder path of excel files here 
Set dirObj = mergeObj.Getfolder("directory\path") 
Set filesObj = dirObj.Files 
For Each everyObj In filesObj 
Set bookList = Workbooks.Open(everyObj) 

'change "A2" with cell reference of start point for every files here 
'for example "B3:IV" to merge all files start from columns B and rows 3 
'If you're files using more than IV column, change it to the latest column 
'Also change "A" column on "A65536" to the same column as start point 
Range("A2:C" & Range("A65536").End(xlUp).Row).Copy 
ThisWorkbook.Worksheets(1).Activate 

'Do not change the following column. It's not the same column as above 
Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial 
Application.CutCopyMode = False 
bookList.Close 
Next 
End Sub 
+0

Sie wollen nur die Spalte in A, B und C, auch wenn Sie die Spalten A bis IV der einzelnen Arbeitsmappe kopieren? – Kyle

+0

@Kyle Ja, wollen nur Spalte A1, B1 und C1. Ich habe gerade den Code-Bereich auf A2 geändert: C – sharp

+4

Ummmm ... 'Bereich (" A1 "). Value =" customerid "', etc? – Comintern

Antwort

1

Bedenken Sie:

Sub whatever() 
    Range("A1:C1").Value = Array("customerid", "date", "prediction") 
End Sub 
Verwandte Themen