En 2-delad fuling, i princip bara klipp och klistra. men du kanske kan använda det som inspiration
Option Explicit
Sub Beställningsmakro()
'Anger vilken fil som är sammanställningsbok, samt
' förutsätter att den är öppen
Dim wMålBok As Workbook
Set wMålBok = Workbooks("Bok5")
'Här kan du städa undan gamla data i målfilen om du vill, typ:
wMålBok.Worksheets("blad1").Range("A2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).delete
'sen "beställer" du import av dina 4 filer: typ:
ImporteraData wMålBok, sKällbok:="C:\tmp\Bok1.xlsx"
ImporteraData wMålBok, sKällbok:="C:\tmp\Bok2.xlsx"
ImporteraData wMålBok, sKällbok:="C:\tmp\Bok3.xlsx"
End Sub
' och nedanstående makro tar emot beställningen och gör importen.
Private Sub ImporteraData(wMålBok As Workbook, sKällbok As String)
Dim wKällbok As Workbook
'Set wKällbok = Workbooks.Open(sKällbok)
' Förutsätter att dina källfier är stängda och behöver öppnas.
' annars får du köra en koll i den här stilen
On Error Resume Next
Set wKällbok = Workbooks.Open(sKällbok)
If wKällbok Is Nothing Then
Set wKällbok = Workbooks.Open(sKällbok)
End If
' Normalt sett brukar man undvika klipp och klistra,
'men din bok är så liten så det borde gå ändå.
' här antar jag att dina källdata altid ligger på blad1 och börjar i A2,
' annars får du krångla till det och skicka med bladnamnet när du gör "beställningen"
' från det första makrot
wKällbok.Worksheets("blad1").Activate
Range("A2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
' klistra in data, kräver en del krångel för att hitta
' sista "lediga" cellen.
'Här antar jag att du inte har mer än 32000 rader och letar upp
' den sista lediga cellen i A kolumnen
wMålBok.Activate
Range("A32000").Select
Selection.End(xlUp).Select
Selection.Offset(1, 0).Select
ActiveSheet.Paste
End Sub
ED: jag hoppas att du inser att jag gör nästan allt fel i anropen mellan makrona? Men eftersom det fungerar så tänker jag strunta i det...