Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: csv-Datei importieren

csv-Datei importieren
24.07.2013 09:49:59
Ann
Hallo Leute,
ich weiß, dass es zu diesem Thema schon etliche Beiträge gibt, aber ich werd aus denen leider nicht schlau. Ich hab eine csv-Datei Namens "Messdaten1" die in dem gleichen Ordner liegt wie meine Exceldatei. Jetzt soll das Programm die Datei anhand des Namens suchen und dann in das erste Arbeitsblatt importieren. Die Daten sollen durch Kommas getrennt werden.
Sub ImportWoche()
SearchInFolder ThisWorkbook.Path
End Sub
Private Sub SearchInFolder(ByVal Folderspec As String)
Dim StTyp As String
Dim FSO As Object
Dim FI As Object
Dim n As Integer
Dim i As Integer
Set FSO = CreateObject("Scripting.Filesystemobject")    'Zugriff auf das Dateisystem des  _
Computers
If Not FSO.FolderExists(Folderspec) Then
MsgBox Folderspec & "Datei ist nicht vorhanden."
Set FSO = Nothing
Exit Sub
End If
StTyp = "csv"
StWort = "Messdaten1"
For Each FI In FSO.GetFolder(Folderspec).Files
If UCase(FSO.GetExtensionName(FI)) = UCase(StTyp) Then
For i = 1 To Len(FI)
If UCase(Mid$(FI, i, 10)) = UCase(StWort) Then
ActiveWorkbook.Import FI, _
ImportMap:=Nothing, Overwrite:=True, Destination:=Sheets
("Tabelle1").Cells(1, 1)
GoTo Schleife
End If
Next i
End If
Schleife:
Next
End Sub
Das Programm funkioniert soweit. Nur bei dem Befehl Import bekomm ich ne Fehlermeldung :(. Vielen Dank schonmal für eure Hilfe!
Ann

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: csv-Datei importieren
24.07.2013 11:39:13
fcs
Hallo Ann,
den folgenden Teil musst du korigieren. Da stimmt die Syntax/Zeilentrennung nicht - zumindest so wie sie hier im Forum angeziegt wird..
                ActiveWorkbook.Import FI, _
ImportMap:=Nothing, Overwrite:=True, _
Destination:=Sheets("Tabelle1").Cells(1, 1)
Ansonsten wäre es hilfreich, wenn du uns den Text der Fehlermeldung mitteils.
Gruß
Franz

Anzeige
AW: csv-Datei importieren
24.07.2013 11:54:41
Ann
Ja genau... aber ich weiß nicht wie ich den Befehl für csv-Dateien (für xml funktionierts) ändern muss.
Ich bekomm die Fehlermeldung:
Laufzeitfehler '438':
Objekt unterstützt diese Eigenschaft oder Methode nicht

AW: csv-Datei importieren
24.07.2013 15:44:18
fcs
Hallo Ann,
du hast die falsche Methode erwischt, um Text-Dateien zu importieren. Hier muss eine Querytable generiert werden.
Wenn du den Makrorekorder bemühst und via Menü Daten--Externe Daten abrufen--Aus Text mit allen gewünschten Optionen aufzeichnest, dann hast du das Grundgerüst und muss nur noch den aufgezeichneten Dateinamen durch die Variable ersetzen.
Dein Makro muss dann am Ende etwa wie folgt aussehen, je nach gewählten Optionne bei den Parametern.
Gruß
Franz
Private Sub SearchInFolder(ByVal Folderspec As String)
Dim StTyp As String
Dim FSO As Object
Dim FI As Object
Dim n As Integer
Dim i As Integer
Set FSO = CreateObject("Scripting.Filesystemobject")    'Zugriff auf das Dateisystem des _
Computers
If Not FSO.FolderExists(Folderspec) Then
MsgBox Folderspec & "Datei ist nicht vorhanden."
Set FSO = Nothing
Exit Sub
End If
StTyp = "csv"
StWort = "Messdaten1"
For Each FI In FSO.GetFolder(Folderspec).Files
If UCase(FSO.GetExtensionName(FI)) = UCase(StTyp) Then
For i = 1 To Len(FI)
If UCase(Mid$(FI, i, 10)) = UCase(StWort) Then
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & FI, Destination:=Range("Tabelle1!$A$1"))
.Name = "CSV_Import"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001   'Unicode
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True     'ggf. anderres Trennzeichen auf True  _
Setzen
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
GoTo Schleife
End If
Next i
End If
Schleife:
Next
End Sub

Anzeige
AW: csv-Datei importieren
26.07.2013 11:31:04
Ann
Vielen Dank für deine Hilfe!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige