Suche VBA Befehl, auslesen Datensatz zw.Leerzeiche

Hallo Leute,

ich suche einen VBA Befehl, der mir einen Datensatz zwischen einer Leerzeichenabfolge wiedergeben kann.

Beispiel:

[admin] …

ich möchte, dass er mir das Datum und die Uhrzeit wiedergibt zwischen dem 2ten und 4ten Leerzeichen.

Wäre echt toll, wenn mir jemand helfen könnte.

Vielen lieben Dank schon mal im Voraus :smile:

ich suche einen VBA Befehl, der mir einen Datensatz zwischen
einer Leerzeichenabfolge wiedergeben kann.
[admin] …
ich möchte, dass er mir das Datum und die Uhrzeit wiedergibt
zwischen dem 2ten und 4ten Leerzeichen.

Hallo Tschejtx,

Sub Trenn()
Dim S
Range(„A1“).Value = „Wort1 Wort2 Datum Uhrzeit Wort5 Wort6“
S = Split(Range(„A1“).Value, " ")
MsgBox S(2) & " " & S(3)
End Sub

oder

Sub Trenn()
Range(„A1“).Value = „Wort1 Wort2 Datum Uhrzeit Wort5 Wort6“
MsgBox Split(Range(„A1“).Value, " ")(2) & " " & Split(Range(„A1“).Value, " ")(3)
End Sub

Gruß
Reinhard

Hallo Reinhard,

vielen Dank für die schnelle Antwort.

Ich muss gestehen, dass ich absolute Anfängerin bin. Und daher ergibt sich bei mir bereits die nächste Frage. Wahrscheinlich eine blöde Frage!

Schreibe ich wirklich nur Wort1 Wort2 hin (so wie es oben steht)
und jetzt ist es bei mir so, dass es sich um eine Log-Datei handelt, die keine Zellenangaben beinhaltet und mehrere solcher Logs z.B.

[admin] http-0.8.16.0-8083242340-4 22.06.2006 10:34:57,265 INFO

enthält. Wie definiere ich da die Range?! A1 wäre ja zu spezifisch? Definiere ich im Vorfeld ?!

Und diese Funktion wird in eine eingebaut, weil er das nätürlich für jedes Log einmal durchführen muss, schreibe ich dann oben einfach Trenn() und definiere es unten als String?

Vielen Dank dir noch einmal :smile:

Hallo Tschejtx,

Schreibe ich wirklich nur Wort1 Wort2 hin (so wie es oben
steht)

nein, das sind nur Platzhalter für die echten Wörter/Begriffe…

und jetzt ist es bei mir so, dass es sich um eine Log-Datei
handelt, die keine Zellenangaben beinhaltet und mehrere
solcher Logs z.B.
[admin] http-0.8.16.0-8083242340-4 22.06.2006 10:34:57,265
INFO

Sub Trenn()
Range(„A1“).Value = „[admin] http-0.8.16.0-8083242340-4 22.06.2006 10:34:57,265 INFO“
MsgBox Split(Range(„A1“).Value, " ")(2) & " " & Split(Range(„A1“).Value, " ")(3)
End Sub

enthält. Wie definiere ich da die Range?! A1 wäre ja zu
spezifisch? Definiere ich im Vorfeld ?!
Und diese Funktion wird in eine eingebaut, weil er das
nätürlich für jedes Log einmal durchführen muss, schreibe ich
dann oben einfach Trenn() und definiere es unten als String?

Meinst du eine Funktion?

Angenommen in A1 steht da deine Log dann schreib in eine andere zelle:
=Trennen(A1)
Stehen deine weiteren Logs in A2,A3 usw. kannst natürlich diese Formel auch runterkopieren wie normale Excelfunktionen.

Vorher diese Funktion in Modul1 reinschreiben. Modul1 bekommst du wenn noch nicht vorhanden mit Einfügen—Modul im Editor.

Function Trennen(Satz)
Dim S
Trennen = „Fehler“
S = Split(Satz, " ")
If UBound(S) >= 3 Then Trennen = S(2) & S(3)
End Function

Gruß
Reinhard

Hallo Reinhard,

Schreibe ich wirklich nur Wort1 Wort2 hin (so wie es oben
steht)

nein, das sind nur Platzhalter für die echten
Wörter/Begriffe…

Ok, aber die varieren ja immer von Log zu Log. So ist ein anderer Admin ein anderer Thread usw… Wie schreibe ich das dann allgemeiner?
Im Grunde ist es ja nebensächlich was diese Wörter sind, das Makro soll ja nur nach den Leerzeichen suchen und mir die Wörter zwischen eienr bestimmten Leerzeichenabfolge wiedergeben. Was mach ich dann?

Viele Grüße,
Tschejtx

Ok, aber die varieren ja immer von Log zu Log. So ist ein
anderer Admin ein anderer Thread usw… Wie schreibe ich das
dann allgemeiner?
Im Grunde ist es ja nebensächlich was diese Wörter sind, das
Makro soll ja nur nach den Leerzeichen suchen und mir die
Wörter zwischen eienr bestimmten Leerzeichenabfolge
wiedergeben. Was mach ich dann?

Hallo Tschejtx,

mal was anderes, Neugier ist mein Zweitnick :smile:)
Tschejtx ist dein Vorname? Wo kommste her?
In einer Umschulung war einer dabei dessen Vorname noch okay war aber sein Nachname war/ist
Szszerback.
(„erback“ ist jetzt meine Erfindung, der Restname war anders aber aussprechbar für hiesige Zungen)

Jetzt weiß natürlich keiner hier in D wie man sowas ausspricht *grins*

Zum Thema.
Liegen diese Log-Daten in einem Excel Tabellenblatt in einer Spalte schon vor?
Dann lad mal so eine Mappe hoch mit file-upload o.ä., s. FAQ:2606

Wenn in den daten etwas vertrauliches steht so anonymisier das aber so daß die Daten Struktur komplett erhalten wird.
Also vier Buchstaben durch vier andere Buchstaben ersetzen usw.
Und keinesfalls irgendwas an der Leerzeichen etwas manipulieren!

Gruß
Reinhard