Samle flere filer til en med VBA
Hver dag laver vores system en CSV fil med en kostrapport, En gang om måneden har jeg behov for at slå hele månedens kostrapport sammen til en lang rapport som jeg så kan lave en pivotabel som jeg kan arbejde videre med. Alle filer som skal slåes sammen lægger i den samme mappe.Jeg har forsøgt mig med nedenstående VBA men den virker ikke optimal.
Sub SamleFiler()
Dim path As String
Dim FileName As String
Dim LastCell As Range
Dim Wkb As Workbook
Dim ws As Worksheet
Dim ThisWB As String
ThisWB = ThisWorkbook.Name
Application.EnableEvents = False
Application.ScreenUpdating = False
path = "G:\Afdeling\Salg\Klas\LOGISTIK"
FileName = Dir(path & "\*.csv", vbNormal)
Do Until FileName = ""
If FileName <> ThisWB Then
Set Wkb = Workbooks.Open(FileName:=path & "\" & FileName)
For Each ws In Wkb.Worksheets
Set LastCell = ws.Cells.SpecialCells(xlCellTypeLastCell)
If LastCell.Value = "" And LastCell.Address = Range("$A$1").Address Then
Else
ws.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
End If
Next ws
Wkb.Close False
End If
FileName = Dir()
Loop
Application.EnableEvents = True
Application.ScreenUpdating = True
Set Wkb = Nothing
Set LastCell = Nothing
End Sub
Den sætter hvert ark ind for sig selv og da tallene kommer fra en CSV fil står de ikke rigtigt i cellerne.
Jeg har behov for at de står rigtigt og at alle tallene står under hinanden.
Er der nogen som har en god løsning på dette?
I CSV filen er der altid 9 kolonner og et varierende antal rækker.
