11.03.2019, 12:38
(Dieser Beitrag wurde zuletzt bearbeitet: 11.03.2019, 12:39 von Hannes_Ulbricht.)
Liebe Excel-Vereinsgemeinde ;)
ich habe folgendes Problem: Beim Einfügen meiner Daten aus dem CSV werden die Werte von 3 Spalten in eine gesteckt.
Das passiert, weil Excel das Semikolon nicht als Trennzeichen erkennt. Ich werde die problematischen Zeilen fett hervorheben.
Meiner (laienhaften) Ansicht nach sollte dieser Code richtig sein, ist er aber leider nicht.
Ebenso werden die 5 Kopfzeilen alle in Spalte A des Excelsheets gequetscht, obwohl eigentlich im Quellsheet CSV spalte A und B Daten enthalten.
Ein Beispiel (KOPFZEILE)
Start time;29.03.2018 14:08:22 (Alles in A1 ; B1)
Ein Beispiel (TABELLE)
0;1;0 (Alles in A6, statt in A6, B6 und C6)
'_________________________
'ERFASSEN tatsächlich vorhandener dateien
Dim wbCSV As Workbook
Dim wbAUSWERTUNG As Workbook
Dim ws As Worksheet
Dim a As Integer
Set fso = CreateObject("Scripting.Filesystemobject")
Set wbAUSWERTUNG = ActiveWorkbook
a = wbAUSWERTUNG.Worksheets.Count
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'____________________
'Jetzt einlesen.
'--------------------
For Each f In fso.GetFolder(CSVPFAD).Files
If LCase(Right(f.Name, 3)) = "csv" Then
Workbooks.OpenText Filename:=f.Path
Set wbCSV = ActiveWorkbook
On Error Resume Next
Set ws = wbAUSWERTUNG.Worksheets(f.Name)
If Err <> 0 Then
Set ws = wbAUSWERTUNG.Worksheets.Add(after:=Sheets(Sheets.Count))
'MsgBox "Profil wurde erfolgreich geladen: " & f.Name, vbInformation, "Profil geladen" 'funktioniert
ws.Name = f.Name
ws.Range("A:ZZ").Clear
End If
wbCSV.Worksheets(1).Range("A:ZZ").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Semicolon:=True, TrailingMinusNumbers:=True
wbCSV.Worksheets(1).Range("A:ZZ").Copy Destination:=ws.Range("A1")
wbCSV.Close False
wbCSV.Worksheets(1).Copy
ws.Range("A1").SpecialPaste
'ws.Name = f.Name
End If
Next
Application.DisplayAlerts = True
Set fso = Nothing
'_________________________
'Jetzt sortieren
und so weiter und so fort...
ich habe folgendes Problem: Beim Einfügen meiner Daten aus dem CSV werden die Werte von 3 Spalten in eine gesteckt.
Das passiert, weil Excel das Semikolon nicht als Trennzeichen erkennt. Ich werde die problematischen Zeilen fett hervorheben.
Meiner (laienhaften) Ansicht nach sollte dieser Code richtig sein, ist er aber leider nicht.
Ebenso werden die 5 Kopfzeilen alle in Spalte A des Excelsheets gequetscht, obwohl eigentlich im Quellsheet CSV spalte A und B Daten enthalten.
Ein Beispiel (KOPFZEILE)
Start time;29.03.2018 14:08:22 (Alles in A1 ; B1)
Ein Beispiel (TABELLE)
0;1;0 (Alles in A6, statt in A6, B6 und C6)
'_________________________
'ERFASSEN tatsächlich vorhandener dateien
Dim wbCSV As Workbook
Dim wbAUSWERTUNG As Workbook
Dim ws As Worksheet
Dim a As Integer
Set fso = CreateObject("Scripting.Filesystemobject")
Set wbAUSWERTUNG = ActiveWorkbook
a = wbAUSWERTUNG.Worksheets.Count
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'____________________
'Jetzt einlesen.
'--------------------
For Each f In fso.GetFolder(CSVPFAD).Files
If LCase(Right(f.Name, 3)) = "csv" Then
Workbooks.OpenText Filename:=f.Path
Set wbCSV = ActiveWorkbook
On Error Resume Next
Set ws = wbAUSWERTUNG.Worksheets(f.Name)
If Err <> 0 Then
Set ws = wbAUSWERTUNG.Worksheets.Add(after:=Sheets(Sheets.Count))
'MsgBox "Profil wurde erfolgreich geladen: " & f.Name, vbInformation, "Profil geladen" 'funktioniert
ws.Name = f.Name
ws.Range("A:ZZ").Clear
End If
wbCSV.Worksheets(1).Range("A:ZZ").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Semicolon:=True, TrailingMinusNumbers:=True
wbCSV.Worksheets(1).Range("A:ZZ").Copy Destination:=ws.Range("A1")
wbCSV.Close False
wbCSV.Worksheets(1).Copy
ws.Range("A1").SpecialPaste
'ws.Name = f.Name
End If
Next
Application.DisplayAlerts = True
Set fso = Nothing
'_________________________
'Jetzt sortieren
und so weiter und so fort...