Hej HOL
Jeg er løbet ind i en udfordring omkring en VBA kode, dagligt får jeg en bunke CSV filer som bliver brugt til rapportering og de skal alle sammen konverteres til et excel format (XLS eller lign.).
Mit problem opstår da jeg skal konvertere filerne. Da CSV filen bruger semikolon som afgrænsning og ikke komma så kan VBA koden ikke finde ud af det og i stedet for at få data splittet på kolonnerne så står data helt åndsvagt.
Men hvis man åbner CSV filen på almindelig vis så er der ikke nogen problemer.
Nedenstående kode fungerer til at formaterer samtlige CSV til XLS men semikolon problematikken er der stadig. Hvis der derfor er nogen som har et foreslag til hvordan jeg lige får VBA til at læse CSV filen på samme måde som hvis arket bare blev åbnet manuelt så modtager jeg det med kyshånd!
Public Sub csvToxls()
Dim FSO As Object
Dim folder As Object
Dim wb As Object
csvPath = "C:\Users\Nismon\Documents\Revenue\csvFolder"
xlsPath = "C:\Users\Nismon\Documents\Revenue\csvFolder"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set csvFolder = FSO.GetFolder(csvPath)
If FSO.FolderExists(xlsPath) = False Then
FSO.createFolder (xlsPath)
End If
Set xlsFolder = FSO.GetFolder(xlsPath)
With Application
.DisplayAlerts = False
.ScreenUpdating = False
End With
For Each wb In csvFolder.Files
If LCase(Right(wb.Name, 3)) = "csv" Then
Set activeWB = Workbooks.Open(wb, Delimiter:=Semicolon)
activeWB.SaveAs Filename:=xlsPath & "\" & Left(activeWB.Name, Len(activeWB.Name) - 3) & "xlsx", FileFormat:=xlOpenXMLWorkbook
activeWB.Close True
End If
Next
With Application
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub
--
Venlig hilsen Nismon