Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1524to1528
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
text von zahlen trennen
18.11.2016 10:27:58
zahlen
Guten morgen :-)
kann folgende Texte auf zwei spalten trennen?:
SpalteA
Hans Klaus 09235
PeterSemmel 66525
HansZittel65558556
Kann man Spalte B die Namen
Spalte C die Zahlen lassen?
Problem ist das manchmal eine Leerstelle ist und manchmal nicht wie die Beispiele zeigen.
Hoffe es geht sowas sonst muss ich alles manuell machen :-(
Danke
simone

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: RegEx?
18.11.2016 11:44:08
Fennek
Hallo,
nach dieser Beschreibung sollte es mit "RegEx" (regular expression) recht gut gehen. Da es dabei aber sehr auf Details ankommen kann, wäre es hilfreich eine Idee der möglichen Varianten zu haben.
mfg
Anzeige
was ist RegEx?
18.11.2016 12:33:19
Simone
.
Eine Mustersuche in Texten...
18.11.2016 12:40:40
Michael
Simone,
... und steht für "Reguläre Ausdrücke"; dabei kann man allgemeine Suchmuster definieren, um anhand dieser bestimmte Teile aus Texten zu extrahieren. Ohne zu wissen wie das funktioniert, könntest Du das aber theoretisch auch schnell in der Suchmaschine Deines Vertrauens nachschlagen, nachdem Dir Fennek ja sogar die ausgeschriebene (engl.) Variante angeboten hat.
Und: Fennek hat Dir quasi implizit angeboten eine Variante für die Trennung Deiner Texte zu basteln, auf Basis dieser RegEx - dafür braucht er aber noch mehr Informationen von Dir, also etwas mehr Bsp in welchen Varianten Deine zu trennenden Texte vorkommen.
LG
Michael
Anzeige
AW: Eine Mustersuche in Texten...
18.11.2016 14:21:44
Anton
Hallo Simone,
hier mein Lösungsvorschlag, hab es über zwei Funktionen gelöst:
Function PosErsteZiffer(rngZelle As Range) As Long
Dim lngZ As Long
Application.Volatile
For lngZ = 1 To Len(rngZelle)
Select Case Mid(rngZelle, lngZ, 1)
Case 0 To 9
PosErsteZiffer = lngZ
Exit Function
End Select
Next lngZ
End Function

Function AnzahlZiffern(rngZelle As Range) As Integer
Dim intZ As Integer
Application.Volatile
For intZ = 1 To Len(rngZelle)
If Mid(rngZelle, intZ, 1) Like "#" Then
AnzahlZiffern = AnzahlZiffern + 1
End If
Next intZ
End Function
Die Funktionen in ein Modul einfügen. Wenn Deine Daten ab Spalte A1 stehen dann in Spalte B1 =PosErsteZiffer(A1) und ab Spalte C1

=AnzahlZiffern(A1)
eintragen. Nun hast Du Start- und Endpunkt des Zahlenblocks. Ab Spalte D1 mit

=TEIL(A1;B1;C1)
den Zahlenblock und ab Spalte E1 mit

=LINKS(A1;LÄNGE(A1)-LÄNGE(D1))
den Namen extrahieren.
Etwas umständlich aber funktioniert :)
VG Anton
Anzeige
Ja, mit UDF MaskOn ganz einfach, ...
18.11.2016 16:45:04
Luc:-?
…Simone:
B1[:B3]:=MaskOn(A1;"alf")
C1[:C3]:=MaskOn(A1;"num")
Wenn du auch gleich noch Name und Vorname per Leerzeichen trennen willst, dann dort mit 1zelliger (singularer) MatrixFml und 2 weiteren UDFs aus dem Archiv so:
B1[:B3]:{=VJoin(VSplit(MaskOn(A1;"gb"))&VSplit(MaskOn(A1;"kb")))}
Links zu den letzteingestellten Versionen:
VJoin  https://www.herber.de/bbs/user/99024.xlsm
MaskOn https://www.herber.de/cgi-bin/callthread.pl?index=1344962#1345181
VSplit https://www.herber.de/bbs/user/99024.xlsm
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige
Kann man mit zwei Formeln lösen
18.11.2016 23:34:59
Zwenn
Hallo Simone,
nach meinem Dafürhalten ist es am einfachsten, zwei Matrixformeln zu verwenden.
Um die geschweiften Klammern '{}', um die Formel zu erhalten, muss die Formel mit der Tastenkombination Strg + Shift (Umschalttaste zwischen Groß- und Kleinschreibung) + Enter abgeschlossen werden, statt nur mit Enter, wie bei normalen Formeln.
Für den Namen (in Zeile 2):
{=GLÄTTEN(LINKS(A2;VERGLEICH(1;--ISTZAHL(--TEIL(A2;SPALTE(2:2);1));)-1))}
Für die Zahl (in Zeile 2):
{=GLÄTTEN(RECHTS(A2;LÄNGE(A2)-VERGLEICH(1;--ISTZAHL(--TEIL(A2;SPALTE(2:2);1));)+1))}
Die Formeln selbst kannst Du dann nach unten ziehen oder kopieren, soweit Du willst.
Die eigentliche Matrixformel, die feststellt, ab wo die Zahlenfolge losgeht, stammt von neopa, nicht von mir. Ich habe nur den einfachen Teil drum rum gebastelt.
Quelle: http://www.office-loesung.de/ftopic358918_0_0_asc.php
Viele Grüße,
Zwenn
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige