AW: Aus CSV nur eine Spalte auslesen
14.04.2025 11:22:31
MCO
Moin, Dieter!
Mit Hilfe der KI hab ich diesen Code für .txt generiert und auf .csv abgewandelt.
Mit .txt und Spalte 3 funktiniert er, probier das doch mal für deine Tabelle aus.
Sub ImportiereSpalteAusscv()
Dim DateiPfad As String
Dim DateiNummer As Integer
Dim Zeile As String
Dim ZeilenArray() As String
Dim i As Long
Dim Trennzeichen As String
Dim spalte As Long
' === Pfad zur Datei (ggf. anpassen oder mit FileDialog abfragen) ===
DateiPfad = Application.GetOpenFilename("Kommatgetrennt (*.csv), *.csv")
spalte = Application.InputBox("Welche Spalte willst du importieren?", "Spaltenwahl", 32)
If DateiPfad = "False" Then Exit Sub ' Abbrechen gedrückt
' === Einstellungen ===
Trennzeichen = "," ' Oder z. B. ";" je nach Format der Datei
' === Datei öffnen ===
DateiNummer = FreeFile
Open DateiPfad For Input As #DateiNummer
i = 1
Do While Not EOF(DateiNummer)
Line Input #DateiNummer, Zeile
ZeilenArray = Split(Zeile, Trennzeichen)
If UBound(ZeilenArray) >= 2 Then ' Prüfen, ob 3. Spalte existiert
ThisWorkbook.Sheets(1).Cells(i, 1).Value = ZeilenArray(spalte - 1) ' 3. Spalte = Index 2
Else
ThisWorkbook.Sheets(1).Cells(i, 1).Value = "" ' Leere Zelle, falls Spalte fehlt
End If
i = i + 1
Loop
Close #DateiNummer
MsgBox "Import abgeschlossen!", vbInformation
End Sub
Gruß, MCO