Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Regex oder InStr

Regex oder InStr
23.01.2017 22:29:45
Mike
Hallo Zusammen,
ich möchte einen txtDatei zeilenweise auslesen und übergebe nacheinander mittels Schleife Zeile für Zeile an einen String, der in etwa so aussieht:
09845 Mustermann, Mark 2 12 2016 4:15 12:34
Mustermann, Mark 3 12 2016 5:15 14:34
Mustermann, Mark 14 12 2016 23:15 4:45
Und hier die Erklärung: PersNr Name Tag Monat Jahr VonZeit BisZeit (PersNr steht nur in der ersten Zeile des Mitarbeiters!)
Nun benötige ich einen passenden Regex, um die Texte in die richtigen Zellen aufteilen zu können.
Vielen Dank für Eure Hilfe, Mike

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: spli()
23.01.2017 22:40:30
Fennek
Hallo,
wie wäre es zuerst eine Fallunterscheidung (Perso-Nr oder nicht) und dann einfach "split()" zu nutzen?
mfg
(Selbsteinschätzung "VBA gut" sollte das schaffen)
Mit einer Split-UDF könnte das mit einer Fml ...
24.01.2017 02:36:53
Luc:-?
…so aussehen, Mike:
 CDEFGHIJKL
31
Generierte PrimärtextePersNrNameTagMonatJahrVonZeitBisZeit09845 Mustermann, Mark 2 12 2016 4:15 12:3409845Mustermann, Mark212201604:1512:34Mustermann, Mark 3 12 2016 5:15 14:34 Mustermann, Mark312201605:1514:34Mustermann, Mark 14 12 2016 23:15 4:45 Mustermann, Mark1412201623:1504:45F32[:L34]:=WAHL(1+(SPALTE(A1)>2);Splint(WENN(ISTZAHL(--Splint($C32;;1;1));"";" ")&WECHSELN($C32;", ";","&ZEICHEN(160);1);;SPALTE(A1);SPALTE(A1));--Splint(WENN(ISTZAHL(--Splint($C32;;1;1));"";$F31&" ")&WECHSELN($C32;", ";","&ZEICHEN(160);1);;SPALTE(A1);SPALTE(A1)))
32
33
34
35
→Link: Splint
Ich würde allerdings empfehlen, die PersonalNr durchzuziehen*, falls dafür Platz ist, damit auch danach gefiltert wdn kann. Man kann sie übrigens auch als echte Zahl anlegen und dann mit 00000 formatieren.
Falls die Zeitangaben nicht unbedingt als (formatierte) Zahlenwerte benötigt wdn, wird die Fml noch einfacher und könnte auch die Form einer noch kürzeren pluralen MatrixFml (mit anderer Split-UDF) über alle benötigten Zellen der jeweiligen Zeile erhalten. Das ist effektiver, wenn auch in gewisser Weise unflexibler, was hier aber irrelevant ist, da sich die Anzahl der Spalten ohnehin nach dem Primärtext richten muss.
* In der WENN-TeilFml das 3.Argument (" ") durch einen Bezug auf die 1.Zelle über der 1.FmlZelle ersetzen; in F32 wäre das $F31!
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige
Split-UDF
25.01.2017 15:57:59
Mike
Hi Luc:-?,
danke für die super UDF, die ich in meinen VBA-Code eingebaut habe.
Funktioniert bestens :-)
Grüsse, Mike
Bitte sehr! owT
25.01.2017 20:39:52
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige