Auf der Arbeit habe ich mir ein größeres VBA-Projekt angelacht, welches ich nun bewältigen darf. Ich beschäftige mich schon seit Tagen mit diesem Projekt, leider komme ich mangels VBA-Erfahrung an meine Grenzen, da ich ein absoluter Neuling in dem Gebiet bin.
Folgende Problemstellung:
Aus einem beliebig aufrufbaren Textdokument (haben alle vom Prinzip die selbe Struktur, Textdokument besitzt mehr als 15000 Zeilen) brauche ich einige Informationen.
Eine Zeile sieht bspw. so aus wovon es ca. 10 Zeilen gibt (Anzahl der Zeilen kann variieren, die Leerzeichen ebenfalls!):
XX ABCD OKAY SA's : 1AB 192 1J9 1K0 1L9 213 222 279 2A7 2T9
Ich benötige nun von allen Zeilen des Textdokuments, in der sich das Wort SA's befindet, die Zahlenkollone die sich hinterm : befindet. Die einzelnen Zeichenketten (1AB, 192) sind immer durch Leerzeichen getrennt.
Wichtig ist, dass die einzelnen Zeichenketten ihre eigene Zelle bekommen.
Ebenfalls sollen die Zeichenkette in das Worksheet "SA-Konfiguration" geladen werden beginnend bei C1.
Also C1 C2 C3 C4 C5 C6 C7 C8 C9 C10.
Gibt es nun eine neue Zeile so soll diese unten angefügt werden, bis alle SA's notiert sind.
Also C1 C2 C3 C4 C5 C6 C7 C8 C9 C10
D1 D2 D3 D4 ...
E1 E2 ...
...
Mein Problem ist nun, das mittels meines Codes, alle SA's einer Zeile in eine Zelle gepackt werden.
Also werden bei mir nur C1, D1, E1, usw. befüllt und nicht in die benachbarten Zellen befüllt.
Also C1=1AB 192 1J9 ..., D1=...
Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken und viele Informationen meines Problemes geben. Könnt ihr mir hier weiterhelfen?
Mein bisheriger Code sieht folgendermaßen aus:
Sub SA_einlesen()
'Variablen definieren
Dim Quelldatei As String 'Speicherort der Textdatei
Dim Inhalt As String 'Inhalt der Textdatei
Dim Zeile As Integer 'Laufvariable
Dim sWord1 As String 'Wort nach dem gesucht werden soll
Dim AnsFound As Integer
AnzFound = 0
'Wort nach denen gesucht werden soll
sWord1 = "SA's"
'Quelldatei ansprechen
Quelldatei = Application.GetOpenFilename("Textdateien (*.txt), *.txt")
'Tabellenblatt aktivieren
ThisWorkbook.Worksheets("SA-Konfiguration").Activate
'Quelldatei öffnen
Open Quelldatei For Input As #1
'SA-Codes in SA-Konfiguration eintragen
Do While Not EOF(1) 'Schleife bis Datenende
'Inhalt der Quelldatei zeilenweise einlesen
Line Input #1, Inhalt
If InStr(1, Inhalt, sWord1) > 0 Then
'Zeile mit Suchwort gefunden
AnzFound = AnzFound + 1
Sheets("SA-Konfiguration").Cells(AnzFound, 3) = Mid(Inhalt, 46) 'Nur die SA-Codes _
ausgeben
End If
Loop
'Quelldatei schließen
Close #1
End Sub
Über jede Hilfe würde ich mich sehr freuen!