Daten aus Text-File in bestimmte Zellen in Excel importieren
Hallo!
Mein Problem ist folgendes:
Ich habe ein Textfile: "Beispiel.txt" mit nur einer Spalte mit folgendem Inhalt, wobei die Zahlen mit tabs getrennt sind:
Zahl1 Zahl2 Zahl3 ...
Diese Zahlen möchte ich nun in Excel importieren, und zwar soll Zahl1 in [B4], Zahl2 in [C4] usw.
(Bis jetzt habe ich es nur geschafft alle Werte in eine oder zwei Zellen zu schreiben)
Wenn die Daten importiert sind, soll die Text-Datei gelöscht werden.
Mein Code sieht bis jetzt so aus:
Gruß + Danke
Mein Problem ist folgendes:
Ich habe ein Textfile: "Beispiel.txt" mit nur einer Spalte mit folgendem Inhalt, wobei die Zahlen mit tabs getrennt sind:
Zahl1 Zahl2 Zahl3 ...
Diese Zahlen möchte ich nun in Excel importieren, und zwar soll Zahl1 in [B4], Zahl2 in [C4] usw.
(Bis jetzt habe ich es nur geschafft alle Werte in eine oder zwei Zellen zu schreiben)
Wenn die Daten importiert sind, soll die Text-Datei gelöscht werden.
Mein Code sieht bis jetzt so aus:
Sub importData()
Dim sTxt As String
Dim strVerzeichnis As String
Dim strDatei As String
Dim strTyp As String
Dim strDateiname As String
strTyp = "*.txt"
strVerzeichnis = ThisWorkbook.Worksheets("Tabelle2").Cells(25, 2)
strDateiname = Dir(strVerzeichnis & strTyp)
With ThisWorkbook.Worksheets("Tabelle1")
Do While strDateiname <> ""
Open strDateiname For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
...
End Sub
Gruß + Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 70809
Url: https://administrator.de/contentid/70809
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo lena123!
Wenn die Daten tatsächlich nur in einer (der ersten) Zeile der Textdatei stehen, könntest Du etwa so vorgehen:
Die Adresse, ab welcher die Daten eingetragen werden sollen, habe ich (wegen der Übersichtlichkeit) in den "Const"-Zeilen am Anfang festgelegt.
Grüße
bastla
Wenn die Daten tatsächlich nur in einer (der ersten) Zeile der Textdatei stehen, könntest Du etwa so vorgehen:
Sub importData()
Const iAbSpalte = 2 'B
Const iAbZeile = 4
Dim sTxt As String
Dim vWert As Variant, iSpalte As Integer
Dim strVerzeichnis As String
Dim strDatei As String
Dim strTyp As String
Dim strDateiname As String
strTyp = "*.txt"
strVerzeichnis = ThisWorkbook.Worksheets("Tabelle2").Cells(25, 2)
strDateiname = Dir(strVerzeichnis & strTyp)
With ThisWorkbook.Worksheets("Tabelle1")
If strDateiname <> "" Then 'Datei gefunden
Open strDateiname For Input As #1
If Not EOF(1) Then 'Daten vorhanden
Line Input #1, sTxt 'Nur erste Zeile lesen ...
aDaten = Split(sTxt, vbTab) '... zerlegen, die Werte der einzelnen Felder in ein Array schreiben ...
iSpalte = iAbSpalte
For Each vWert In aDaten ... und diese Werte einzeln ...
.Cells(iAbZeile, iSpalte).Value = CDbl(vWert) ... (nach Umwandlung in eine Zahl) eintragen.
iSpalte = iSpalte + 1
Next
End If 'Daten vorhanden
Close 1
End If 'Datei gefunden
End With
End Sub
Grüße
bastla