Microsoft Excel

Excel und VBA: Beitrag aus Herbers Excel-Forumsarchiv

Notepad-Datei (.txt) öffnen, alles kopieren

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

Gruß
Rudi


  

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

Gruß
Rudi


  

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