Betrifft: Notepad-Datei (.txt) öffnen, alles kopieren
von: Karsten Hamm
Geschrieben am: 23.11.2011 12:39:50
Hallo Excelprofis,
ich möchte Daten aus einer Textdatei in Excel verwenden. Ich möchte dies aber explizit nicht über die Importfunktion machen.
Kann ich per VBA eine Textdatei öffnen (z.B. über Notepad), dort dann alles markieren, in die Zwischenablage kopieren, Notepad schließen und im Exceltabellenblatt einfügen?
Wenn ja, kann mir jemand einen Tip geben?
Betrifft: AW: Notepad-Datei (.txt) öffnen, alles kopieren
von: Rudi Maintaire
Geschrieben am: 23.11.2011 12:48:08
Hallo,
ohne Notepad etc:
Sub txt() Dim sDaten Open "c:\test\test.txt" For Input As #1 sDaten = Split(Input(LOF(1), 1), vbCrLf) Close #1 Sheets(1).Cells(1, 1).Resize(UBound(sDaten) + 1) = sDaten End Sub
Betrifft: AW: Notepad-Datei (.txt) öffnen, alles kopieren
von: Karsten Hamm
Geschrieben am: 23.11.2011 13:14:20
Vielen Dank Rudi, für die superschnelle Antwort. Das ganze sieht sehr vielversprechend aus.
Wenn ich die Prozedur ablaufen lassen, dann wird aber nur die erste Zeile der Textdatei kopiert und in die Zellen der Spalte A eingefügt.
Ich muss die gesamte Textdatei markieren, in die Zwischenablage kopieren, und dann in Tabelle 1 einfügen. Wenn ich diese Schritte per Hand mache, funktioniert das alles klasse. Jeder Wert der Textdatei ist in der entsprechenden Zelle in Excel.
Betrifft: AW: Notepad-Datei (.txt) öffnen, alles kopieren
von: Rudi Maintaire
Geschrieben am: 23.11.2011 13:16:50
Hallo,
Jeder Wert der Textdatei ist in der entsprechenden Zelle in Excel.
Hat die irgendwelche Trennzeichen? Tab?
Kannst du eine .txt hochladen?
Gruß
Rudi
Betrifft: AW: Notepad-Datei (.txt) öffnen, alles kopieren
von: Karsten Hamm
Geschrieben am: 23.11.2011 13:20:40
Ich hab mal die Datei hochgeladen:
http://www.herber.de/bbs/user/77619.txt
Betrifft: AW: Notepad-Datei (.txt) öffnen, alles kopieren
von: Rudi Maintaire
Geschrieben am: 23.11.2011 13:54:44
Hallo,
da sieht man doch gleich klarer.
Sub txt()
Dim sDaten, vntTmp, lngR As Long
Application.ScreenUpdating = False
Open "c:\test\77619.txt" For Input As #1 'anpassen
sDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 0 To UBound(sDaten) - 1
vntTmp = Split(sDaten(lngR), vbTab)
Sheets(1).Cells(lngR + 1, 1).Resize(, UBound(vntTmp) + 1) = _
WorksheetFunction.Transpose(WorksheetFunction.Transpose(vntTmp))
Next
End Sub
Betrifft: AW: Notepad-Datei (.txt) öffnen, alles kopieren
von: Karsten Hamm
Geschrieben am: 23.11.2011 14:32:01
Wow!!!
Funzt klasse.
Herzlichen Dank für diesen extrem guten Service.
Gruß
Karsten
| |