pascals
Goto Top

Textdatei importieren

Hallo zusammen,

ich möchte eione Textdatei in Excel einlesen, bei der zu Anfang keine Spaltentrennung vorgenommen werden soll.

Nun habe ich mir gedacht, dass das ja eigentliuch nicht so schwer sein kann und man das via Makrorekorder hinbvekommen können.
Tja da hab ich wohl falsch gedacht. Es funktioniert zwar, aber nicht so wie ich mir es vorstelle.
Der Makrorekorder importiert mir die Textdatei in eine neue Excel-Arbeitsmappe, ich möchte sie aber in der Arbeitsmappe haben, von der aus ich auch das Makro ausführe...

Hat jemand eine Idee?
Viele Grüße
Pascal

Content-Key: 66927

Url: https://administrator.de/contentid/66927

Printed on: April 19, 2024 at 14:04 o'clock

Member: SvenGuenter
SvenGuenter Aug 23, 2007 at 13:43:53 (UTC)
Goto Top
Option Explicit

Sub dateilesen()
'Diese Sub kann dazu genutzt werden einen String der eingelesen wird zu ergänzen oder anderweitig zu
'manipulieren
'erstellt am 23.05.2007
'Autor: Sven Günter


'Konstanten die FileSystemObject Objekte besser lesbar zu machen
Const ForReading = 1, ForWriting = 2, ForAppending = 8


'Definition der benötigten internen Variablen
Dim abgleich
Dim speicher
Dim fs, a, retstring
Dim zeile As Integer
Dim spalte As Integer
'Erzeugen des FileSystemObject
Set fs = CreateObject("Scripting.FileSystemObject")

'Erzeugen der Zieldatei
'fs.CreateTextFile "c:\gesamtneu.txt"
'Zuweisung der Quelldatei
Set a = fs.opentextfile("C:\mahnungenbackup\Mahnlauf_24_Protokoll.txt", ForReading, False)


zeile = 1
spalte = 1
'2-24 ohne 12

'Schleife bis das Ende der Quelldatei erreicht ist
Do While a.AtEndOfStream <> True
'Einlesen der 1. zeile
retstring = a.readline
'Erzeugen eines Arrays welches die einzelnen Werte aufnimmt
'abgleich = Split(retstring, vbTab, -1) brauchst du nur wenn du den string teilen willst
'MsgBox (retstring)
Tabelle1.Cells(zeile, spalte) = retstring
'abgleich = Split(retstring, vbTab, -1)
'speicher = abgleich(1)brauchst du nur wenn du den string teilen willst
zeile = zeile + 1


'abgleich = Split(retstring, vbTab, -1)


Loop
a.Close

End Sub

EDIT-----------sorry hatte den zeilenzähler nicht mit drin. Aber nun müßte es klappen. Hatte vorher den import UND Export in eine Textdatei realisiert udn den code nur rauskopiert.
Member: PascalS
PascalS Aug 23, 2007 at 14:08:19 (UTC)
Goto Top
Hi Sven,

danke für die Antwort face-smile
Habe bei Zeile und Spalte "1,1" eingetragen, es passiert auch etwas, das ganze beschränkt sich allerdings auf die Zelle A1. Wie kann ich denn den Sprung in die nächste Spalte einbauen?

Gruß
Pascal
Member: SvenGuenter
SvenGuenter Aug 23, 2007 at 16:58:57 (UTC)
Goto Top
indem du bei dem befehl Tabelle1.Cells(zeile,1) eingibst und dann zeile immer um 1 hochzählen lässt ;)
Member: PascalS
PascalS Aug 24, 2007 at 08:17:34 (UTC)
Goto Top
Hallo Sven,

vielen Dank, läuft!!!

Grüße
Pascal