Microsoft Excel

Herbers Excel/VBA-Archiv

CSV Import Problem

Betrifft: CSV Import Problem von: Beat
Geschrieben am: 20.08.2020 20:22:30


Hallo liebe Excel Freunde

Ich habe hier aus dem Forum ein wenig Code kopiert sowie selber etwas gebastelt.

Nun habe ich noch etwas Probleme und komme nicht weiter.

Kann mir jemand helfen oder zumindest teilweise weiterhelfen?

Folgende Probleme (bitte zip Datei konsultieren):

1. Warum importiert er mir die Erste Spalte nicht "Form_ID"
2. Aus der Oriiginal Datei "cfdb7-2020-08-20_n.csv" wird nur die Erste Zeile plus die "Form_ID2 der zweiten Zeile importiert dann ist Schluss.
3. Importiere ich "cfdb7-2020-08-20.csv" wird die ganze Datei importiert hier habe ich händisch bei der Zweiten Zeile bei "Form_date" die Hochkoma " " entfernt.

Kann mir jemand weiterhelfen bin echt ein Brett vor dem Kopf.

herzliche Grüsse

Beat

https://www.herber.de/bbs/user/139741.zip

Betrifft: CSV Import Problem
von: Beat
Geschrieben am: 20.08.2020 21:10:42

Habe noch weiter programmiert.

Habe noch ein Problem wie kann ich von der Original CSV Datei erst ab Zeile 2 importieren so dass die Überschrift nicht mit kommt.

https://www.herber.de/bbs/user/139743.xlsm

Betrifft: CSV Import Problem
von: Beat
Geschrieben am: 20.08.2020 21:10:46

Habe noch weiter programmiert.

Habe noch ein Problem wie kann ich von der Original CSV Datei erst ab Zeile 2 importieren so dass die Überschrift nicht mit kommt.

https://www.herber.de/bbs/user/139743.xlsm

Betrifft: CSV Import Problem
von: Beat
Geschrieben am: 20.08.2020 21:10:57

Habe noch weiter programmiert.

Habe noch ein Problem wie kann ich von der Original CSV Datei erst ab Zeile 2 importieren so dass die Überschrift nicht mit kommt.

https://www.herber.de/bbs/user/139743.xlsm

Betrifft: AW: CSV Import Problem
von: UweD
Geschrieben am: 21.08.2020 09:43:24

Hallo

zu 1. Arrays beginnen mit Datensatz 0 also
Worksheets("Tabelle1").Cells(row_number, 1).Value = Replace(LineItems(0), """", "")


zu 2. Es scheint so, als ob alle Linefeeds am Ende der Zeilen entfernt wurden. Dadurch hast du NUR EINE ZEILE und EOF ist erreicht.

zu 3 hier scheint das nicht zu sein


Erst ab Zeile 2 siehe die Lösung mit TMP
Sub DatenBesorgen()
'Daten aus der CSV in die Excel kopieren
    Dim DateiName As String
    Dim ReplacePrep As String
    Dim LineFromFile As String
    Dim LineItems As Variant
    Dim row_number As Long
    Dim DefaultPath As String
    Dim objStream As Object
    Dim i As Integer
    Dim TMP As Boolean
    
    DefaultPath = Environ("Userprofile") & "\Downloads\"
    DateiName = csv_ '"E:\Homepage LAT\VBA\cfdb7-2020-08-04 (1).csv"

    Set objStream = CreateObject("ADODB.Stream")
    objStream.Charset = "utf-8"
    objStream.Open
    objStream.LoadFromFile (DateiName)

    row_number = 2
    For i = 2 To 600 'Anzahl lese schreib Vorgänge
       If Not Worksheets("Tabelle1").Cells(row_number, 1).Value = "" Then 'Kontrolle ob Zeile  _
leer
       row_number = i
    End If
    
    
    Next i

    Do Until objStream.EOS                       'Gesammtes TextDok durchgehen
        LineFromFile = objStream.ReadText(-2)     'Zeile aus Quelldatei einlesen
        If TMP Then ' Ab Zeile 2 lesen
            LineItems = Split(LineFromFile, ",")
        
            Worksheets("Tabelle1").Cells(row_number, 1).Value = Replace(LineItems(0), """", "")
            Worksheets("Tabelle1").Cells(row_number, 2).Value = Replace(LineItems(1), """", "")
            Worksheets("Tabelle1").Cells(row_number, 3).Value = Replace(LineItems(2), """", "")
            Worksheets("Tabelle1").Cells(row_number, 4).Value = Replace(LineItems(3), """", "")
            Worksheets("Tabelle1").Cells(row_number, 5).Value = Replace(LineItems(4), """", "")
            Worksheets("Tabelle1").Cells(row_number, 6).Value = Replace(LineItems(5), """", "")
            Worksheets("Tabelle1").Cells(row_number, 7).Value = Replace(LineItems(6), """", "")
            Worksheets("Tabelle1").Cells(row_number, 8).Value = Replace(LineItems(7), """", "")
            Worksheets("Tabelle1").Cells(row_number, 9).Value = Replace(LineItems(8), """", "")
            Worksheets("Tabelle1").Cells(row_number, 10).Value = Replace(LineItems(9), """", "") _

            Worksheets("Tabelle1").Cells(row_number, 11).Value = Replace(LineItems(10), """", "" _
)
            Worksheets("Tabelle1").Cells(row_number, 12).Value = Replace(LineItems(11), """", "" _
)
            Worksheets("Tabelle1").Cells(row_number, 13).Value = Replace(LineItems(12), """", "" _
)
            Worksheets("Tabelle1").Cells(row_number, 14).Value = Replace(LineItems(13), """", "" _
)
            'Worksheets("Tabelle1").Cells(row_number, 15).Value = LineItems(14)
            'Worksheets("Tabelle1").Cells(row_number, 16).Value = LineItems(15)
            'Worksheets("Tabelle1").Cells(row_number, 17).Value = LineItems(16)
            'Worksheets("Tabelle1").Cells(row_number, 18).Value = LineItems(17)
            'Worksheets("Tabelle1").Cells(row_number, 19).Value = LineItems(18)
            'Worksheets("Tabelle1").Cells(row_number, 20).Value = LineItems(19)
            'Worksheets("Tabelle1").Cells(row_number, 21).Value = LineItems(20)
            'Worksheets("Tabelle1").Cells(row_number, 22).Value = LineItems(21)
            'Worksheets("Tabelle1").Cells(row_number, 23).Value = LineItems(22)
            'Worksheets("Tabelle1").Cells(row_number, 24).Value = LineItems(23)
            'Worksheets("Tabelle1").Cells(row_number, 25).Value = LineItems(24)
            'Worksheets("Tabelle1").Cells(row_number, 26).Value = LineItems(25)
            'Worksheets("Tabelle1").Cells(row_number, 27).Value = LineItems(26)
            'Worksheets("Tabelle1").Cells(row_number, 28).Value = LineItems(27)
            
        End If
        TMP = True
        row_number = row_number + 1
    Loop
    
    objStream.Close
    Set objStream = Nothing
    
End Sub

LG UweD

Betrifft: CSV Import Problem
von: Beat
Geschrieben am: 21.08.2020 09:57:00

herzlichen dank das war die Lösung nun klappst.

Das unschöne ist halt das jeweils die Original Datei (Export) eben nicht eingelesen werden kann.

Dann muss ich halt eben die ersten Hochkommas entfernen.

Danke nochmals

Betrifft: AW: Dann wohl nicht mehr offen? (owT)
von: EtoPHG
Geschrieben am: 23.08.2020 08:28:58



Betrifft: CSV Import Problem
von: Beat
Geschrieben am: 21.08.2020 09:32:27

Ich bin es nochmals.

Problem 1 konnte ich lösen.

Problem 2 warum liest er mir die Original Datei nicht ein leider noch nicht.
Problem 4 die Überschrift möchte ich eigentlich auch nicht importieren.

Kann mir jemand weiterhelfen?

Beiträge aus dem Excel-Forum zum Thema "CSV Import Problem"