Hallo Zusammen,
Danke euch erstmals für all eure Antworten.
Um es nochmal klar zu machen... Die eingelesene Datei besteht aus 2 Spalten, eine Spalte nenne ich mal "Bezeichnung" und die andere "Werte".
Bei der Spalte "Bezeichnung" ist die Zeichenanzahl in jeder Zeile nicht immer gleich (stellt ein zusätzliches Hindernis dar!). Die Anzahl der Zeilen der TXT-Datei ist nicht immer gleich.
Mein Wunsch war die TXT-Datei einfach Zeile für Zeile einzulesen, dann jede Zeile nach die 2 Kriterien ("Bezeichnung" & "Wert") zu analysieren und die Daten dann in ein (2-Dimensionales) Array zu speichern, so dass ich bei der späteren Datenverarbeitung im Programm ganz bequem auf die einzelnen Indize zugreifen kann und meine gewollte Berechnung ausführen kann. Im folgenden zeige ich meinen jetzigen Code, der leider immer noch nicht so ganz tut, was ich möchte. Die Datei wird Zeilie für Zeile eingeselen, und jede Zeile wird in 2 Strings aufgeteilt "Bezeichnung" und "Wert"... aber ich denke, dass es definitv einen "besseren" Lösungsansatz hierfür gibt. Mit "Split" habe ich es ebenso versucht, kam aber nicht wirklich weiter... Hoffe dass ich nun klar genug war, und dass man mir nun etwas besser weiter helfen könnte. Vielen lieben Dank an euch alle!
Option Explicit
Sub TxtFileProcessing()
Dim fileName As String, textData As String, textRow As String, fileNo As Integer, bezeichnung As String, wert As String
Dim TextArr As Variant
Dim n As Integer
Dim txtLines As Long, i As Long
n = 0
fileName = "C:\Desktop\text.txt"
fileNo = FreeFile 'Get first free file number
Open fileName For Input As #fileNo
txtLines = 0
Do While Not EOF(fileNo)
Line Input #fileNo, textRow
' textData = textData & textRow ' überfluessig!
bezeichnung = Left(textRow, 12)
wert = Right(textRow, 4)
' bezeichnung() = Split(textRow, " ") ' war ein Lösungsansatz!
txtLines = txtLines + 1
Loop
Close #fileNo
End Sub
|