Excel VBA vereinfachter Import
Hi Leute,
ich möchte einige Textdateien nacheinander in verschiedene Exceltabellen importieren.
Da die Textdateien verschiedene Namen haben, aber alle im selben Ordner stehen, möchte ich die Prozedur etwas vereinfachen.
In Zeile A1 möchte ich den Namen des Pfades (inkl. Dateinamen) eintragen, der dann vom VBA Code automatisch übernommen wird.
Soll so aussehen:
in Zeile A1 steht C:\Users\Klaus\Dokumente\Textdatei1
Der Code sieht im Moment so aus:
Sub Import
Dim X As Double
Dim TXT As String
Open "C:\Users\Klaus\Dokumente\Textdatei1" For Input As #1
'Startpunkt
X = 0
For I = 1 To 15
Line Input #1, TXT
Cells(1, 1).Offset(X, 0) = TXT
X = X + 1
Next
Close #1
For j = 1 To 15
Text = Split(Cells(j, 1), " ")
For I = 0 To UBound(Text)
Cells(j, I + 1) = Text(I)
Next
Next
End Sub
(brauche nur die ersten 15 Zeilen)
Wie müsste der Code geschrieben werden, dass der Pfad aus A1 automatisch übernommen wird.
Danke schon mal für Eure Hilfe
ich möchte einige Textdateien nacheinander in verschiedene Exceltabellen importieren.
Da die Textdateien verschiedene Namen haben, aber alle im selben Ordner stehen, möchte ich die Prozedur etwas vereinfachen.
In Zeile A1 möchte ich den Namen des Pfades (inkl. Dateinamen) eintragen, der dann vom VBA Code automatisch übernommen wird.
Soll so aussehen:
in Zeile A1 steht C:\Users\Klaus\Dokumente\Textdatei1
Der Code sieht im Moment so aus:
Sub Import
Dim X As Double
Dim TXT As String
Open "C:\Users\Klaus\Dokumente\Textdatei1" For Input As #1
'Startpunkt
X = 0
For I = 1 To 15
Line Input #1, TXT
Cells(1, 1).Offset(X, 0) = TXT
X = X + 1
Next
Close #1
For j = 1 To 15
Text = Split(Cells(j, 1), " ")
For I = 0 To UBound(Text)
Cells(j, I + 1) = Text(I)
Next
Next
End Sub
(brauche nur die ersten 15 Zeilen)
Wie müsste der Code geschrieben werden, dass der Pfad aus A1 automatisch übernommen wird.
Danke schon mal für Eure Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 345523
Url: https://administrator.de/forum/excel-vba-vereinfachter-import-345523.html
Ausgedruckt am: 27.04.2025 um 11:04 Uhr
3 Kommentare
Neuester Kommentar
Moin,
also wenn es dir nur darum geht, deinen obigen Pfad aus einer Zelle auszulesen:
https://analysistabs.com/excel-vba/read-get-data-from-cell-worksheet/
da wäre man aber auch mit etwas googlen hinter gekommen: excel VBA get content from cell
Den Inhalt in eine Variable schreiben:
Gruß
em-pie
also wenn es dir nur darum geht, deinen obigen Pfad aus einer Zelle auszulesen:
https://analysistabs.com/excel-vba/read-get-data-from-cell-worksheet/
da wäre man aber auch mit etwas googlen hinter gekommen: excel VBA get content from cell
Den Inhalt in eine Variable schreiben:
...
strFile = Cells(x, y) ' x = Row (1 - ...), y = Column(A - ZZ)
Open strFile For Input As #1
...
Gruß
em-pie
Hallo,
Machs so
Gruß,
Peter
Machs so
Sub Import()
Dim I as Integer
Dim TXT as String
Open "C:\Users\Klaus\Dokumente\Textdatei1" For Input As #1
For I = 1 To 15
Line Input #1, TXT
Cells(1, 1).Offset(I - 1, 0) = Left(TXT, InStrRev(TXT, "\"))
Next I
Close #1
End Sub
Peter