Anzeige
Archiv - Navigation
1448to1452
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

10stellige Zahl finden

10stellige Zahl finden
22.09.2015 18:14:38
Christoph
Hallo ich hab nochmal ein denke ich kleines Problem für euch.
Wie bekomme ich aus dieser Zeile:
SEPA-Überweisung anTasxa Freerebay-Artnr. 111680499788, 111680511514,111680514517 , ssxsxDEsssssssssss6ssssss-Überweisung anTasxsa Freerebay-Artnr. 111680499788, 111680511514,111680514517 , onswelsxwoDE1ws5scdc97sx6INGDDsxX
die 10 stelligen Zahlen in die Zelle daneben per Makro eingefügt?
Getrennt dann einfach durch Komma in einer Zelle.
Gruß Christoph

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 10stellige Zahl finden
22.09.2015 18:52:46
Daniel
Hi
folgender Code in ein allgemeines Modul:
Function ZahlenAusText(txt As String, Stellen As Long) As String
Dim erg As String
Dim TeilTexte
Dim i As Long
For i = 1 To Len(txt)
If Mid(txt, i, 1) Like "#" Then
erg = erg & Mid(txt, i, 1)
Else
erg = erg & " "
End If
Next
TeilTexte = Split(WorksheetFunction.Trim(erg), " ")
erg = ""
For i = 0 To UBound(TeilTexte)
If Len(TeilTexte(i)) >= Stellen Then erg = erg & ", " & TeilTexte(i)
Next
ZahlenAusText = Mid$(erg, 3)
End Function
dein Makro macht dann folgendes (Selection sein der Zellbereich, der die Zahlen enthalten soll)
with Selection
.FormulaR1C1 = "=ZahlenAusText(RC[-1],10)"
.Formula = .Value
End with
Gruß Daniel

Anzeige
AW: 10stellige Zahl finden
22.09.2015 19:01:40
Michael
Hi Christoph,
ich sehe hier nur 12-stellige Zahlen.
Hier ne UDF, die Du bitte in ein Modul kopierst:
Option Explicit
Public Function UDF_Zahlen(c As Range) As String
Dim i&
Dim a
'Stop
a = Split(c.Value, ",")
For i = LBound(a) To UBound(a) - 1
a(i) = Right(Trim(LTrim(a(i))), 12)
If Mid(a(i), 1, 1) >= "0" And Mid(a(i), 1, 1) 
Wenn Dein String z.B. in A1 steht und Du in A2 die entsprechenden Zahlen haben willst, schreibst Du in A2:
=UDF_Zahlen(A1)
Schöne Grüße,
Michael

AW: 10stellige Zahl finden
22.09.2015 19:39:22
Christoph
Michael mit deinen Makro hab ichs hinbekommen.
Das letzte Komma wenn keine Zahl mehr ist kann man das verschwinden lassen?

Anzeige
Das Problem hättest du mit meinen UDFs ...
22.09.2015 19:49:01
Luc:-?
…gar nicht erst, Christoph!
Luc :-?

AW: Das Problem hättest du mit meinen UDFs ...
22.09.2015 20:15:14
Christoph
Hmmm bekomm den Link leider nicht geöffnet.
Wie gesagt die Lösung funktioniert aber ist mir etwas umständlich.
Ich hab immer den gleichen Aufbau in einer Tabelle.
Dort stehen in Spalte C diese Einträge über mehrere Zeilen.
SEPA-Überweisung ansdfsds Zansddesdrebay-Artnr. 111687252372, 111687256094,111687258394, 111687261274, onkesfnoDEfs4sdf754WfsD1WDB
ich habe schon ein bestehendes Makro welches andere Sachen ausführt.
Nun hätte ich gedacht das ich dort einen einfachen Code(keine Udf) einfügen kann was mir die 12 artikelnummern in der gleichen Zeile in Spalte G ausgibt.
Sorry das meine erste Erklärung nicht genauer beschrieben war.
2. Problem wäre noch das in Spalte C dann ab und zu Einträge sind wo nur Artikelnummern identisch sind. Sepa usw unterscheidet sich voneinander. Meistens wenn es vorkommt sind es 3 identische einträge mit Aritkelnummern. Dort mache ich das im Moment händisch, das die beiden älteren Einträge in Spalte G zum bsp den Eintrag doppelt bekommen. Der neueste Eintrag soll dann nur die 12 stellige Artikelnummer in Spalte G haben.
Erkennen durch alte und neue Einträge erfolgt durch Spalte B. Dort ist das Datum des Eintrages enthalten.
Hoffe man kann nachvollziehen wie ich das meine.
Gruß Christoph

Anzeige
klar
22.09.2015 20:40:11
Michael

Option Explicit
Public Function UDF_Zahlen(c As Range) As String
Dim i&
Dim a
Dim erster As Boolean
'Stop
erster = True
a = Split(c.Value, ",")
For i = LBound(a) To UBound(a) - 1
a(i) = Right(Trim(LTrim(a(i))), 12)
If Mid(a(i), 1, 1) >= "0" And Mid(a(i), 1, 1) 

Man kann natürlich auch nur XlStandardFktt ...
22.09.2015 19:27:57
Luc:-?
…oder bereits im Archiv zu findende allgemeine und auch anderweitig nachnutzbare UDFs verwenden, Christoph,
wie nachfolgend gezeigt. Die mehrzelligen MatrixFmln prüfen nicht die 10Stelligkeit, da im BspText nur solche Zahlen enthalten sind! Bei horizontaler Anordnung entfällt MTRANS!
1. Varianten mit nur 2 hierin zu findenden UDFs …
1.1 für alle Zahlen (mit Wiederholungen):
{=MTRANS(VSplit(GLÄTTEN(VJoin(WENN(ISTZAHL(VSplit(WECHSELN(A1;".";",");",";1));VSplit(WECHSELN(A1; ".";",");",");"");;-2));;1)) }
1.2 für 1malige Zahlen (ohne Wiederholungen):
{=MTRANS(VSplit(VJoin(WENN(ISTZAHL(VSplit(WECHSELN(A1;".";",");",";1));VSplit(WECHSELN(A1;".";","); ",";1);"");;-1);;1)) }
2. Varianten mit (2…)3 UDFs (SplitVx kann mehrere Trennzeichen benutzen und ist in eingeschränkter Nutzungsform in einer hoch­geladenen BspDatei für Oberschlumpf Thorsten im Archiv enthalten) …
2.1 für alle Zahlen (mit Wiederholungen):
{=MTRANS(VSplit(GLÄTTEN(VJoin(WENNFEHLER(--SplitVx(A1;{".".","});"")));;1))}
2.2 für 1malige Zahlen (ohne Wiederholungen):
{=MTRANS(VSplit(VJoin(WENNFEHLER(--SplitVx(A1;{".".","});"");;-1);;1))}
Gruß, Luc :-?
Besser informiert mit …

Anzeige
LinkAdresse fehlte, s.oben! owT
23.09.2015 03:39:08
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige