1.7k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich möchte aus Excel heraus eine Textdatei mit Text und Zahlenwerten in ein formatiertes Tabellenblatt laden. Da Excel eine Textdatei über den Texteditor lädt, wird der Dateiname mit Endung txt. beibehalten, so das ich immer alles neu formatieren muß. Da ich jeden Tag diese Werte brauche, ist es eine mühselige Arbeit. Ist es möglich, direkt aus einem Tabellenblatt die Textdaten in dieses Blatt zu laden?

Mit freundlichen Grüßen

Fränki

7 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Fränki,

wodurch sind die Daten in der Textdatei getrennt - Komma, Semikolon, oder etwas anderes?

Vielleicht wäre das eine Möglichkeit:

Option Explicit
Public Const Pfad = "C:\Test\" ' Variable für den Pfad der Textdatei

Sub einlesen()
Dim arrText() ' Array für die Zeileninhalte der Textdatei
Dim loZeile As Long ' Schleifenzähler
' Textdatei zum Einlesen öffnen
Open Pfad & "Datei.txt" For Input As #1
' Schleife bis Dateiende
Do While Not EOF(1)
' Array dimensionieren in Abhängigkeit von der jeweiligen Zeilennummer der Textdatei
ReDim Preserve arrText(loZeile)
' Text zeilenweise ins Array schreiben
Line Input #1, arrText(loZeile)
' Zeilenzähler um 1 erhöhen
loZeile = loZeile + 1
Loop
' Textdatei schließen
Close #1
' Daten in Spalte A ausgeben
Range("A1").Resize(UBound(arrText())) = Application.Transpose(arrText())
' Text in Spalten
Columns(1).TextToColumns '<== an deine Bedingungen der Trenner in der Textdatei anpassen
End Sub

Bis später,
Karin
0 Punkte
Beantwortet von
Hi Karin,

Vielen Dank für die schnelle Antwort. Die Daten werden durch Tabstopp's getrennt. In Excel brauche ich 7 Spalten von "A - G". Da die Daten von einem Messinstrument kommen, sieht es ein wenig chaotisch aus wenn ich sie in Excel öffne. Ich muß auf alle Fälle Hand anlegen um die Daten zu ordnen. Das ist auch nicht weiter schlimm, ich möchte sie nur in einem formatierten Blatt laden, damit ich nicht allzuviel Arbeit habe. Deinen Code kann ich im Moment leider nicht ausprobieren, da ich die Datei im Büro an meinem Arbeitsplatz habe. Du bekommst morgen auf alle Fälle ein Feedback von mir. Ich wünsche Dir noch einen schönen Abend!

Gruß

Fränki
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

zwischen den Werten ist doch win Trennzeichen, welches?

Da über das Trennzeichen die Daten getrennt importiert werden können.

Gruß

Helmut
0 Punkte
Beantwortet von
Hi Karin,

ich habe das Problem über ein Makro lösen können. Mit Deinem Code gab es Probleme. Die Zeile "Public Const Pfad = "C:\Test\" ' Variable für den Pfad der Textdatei" wurde beanstandet. Frage mich bitte nicht wieso, da ich wenig Ahnung von VBA habe. Ich habe den Ordner Test auf C: angelegt. Die Zeile bleibt immer rot. Ich habe zwar mein Problem gelöst, aber es würde mich schon interessieren wie Dein Code funktioniert. Ich danke Dir nochmal für Deine Bemühungen.

Gruß

Fränki
0 Punkte
Beantwortet von
Hi Helmut,

auch Dir schönenDank für Dein Interesse. Wie Du oben sehen kannst, habe ich das Problem gelöst.

Gruß

Fränki
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Fränki,

mein gesamter Code befindet sich in einem allgemeinen Modul - bei dir offensichtlich nicht. Lösche entweder Public, dann wird die Zeile korrekt dargestellt, oder schreibe diese einzelne Zeile in ein allgemeines Modul.

Bis später,
Karin
0 Punkte
Beantwortet von
Hi Karin,

Der Fehler lag bei mir. Ich habe den Code in das Tabellenblatt kopiert, anstatt in ein normales Modul. Er funktioniert einwandfrei, so wie du ihn geschrieben hast. Ich werde ihn verwerten, da ich mir 3 Klicks gegenüber meinem Makro spare. Danke!

Gruß

Fränki
...