Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
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

Gemischten String prüfen

Gemischten String prüfen
01.01.2013 08:31:29
Alifa
Gesundheit und Erfolg im Neuen Jahr!
Die 5 bis 7-stelligen Strings beinhalten genau 3 Zahlen und den Rest Nullen oder x-en als Füllelemente. Die Differenz zwischen zwei benachbarten Zahlen soll gleich der Anzahl der Füllelemente dazwischen +1 sein. Beispiel für WAHRE Strings:
5-stellig: x1x34(oder 01034), 12xx5, 2x43x...
7-stellig: 1xx4x6x, 6xx98xx,xx34xx7...
Die Ziffern in einem String sind alle verschieden.
Kann mir jemand mit einer Funktion für das Makro helfen? Danke im Voraus.
Alifa

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

Betreff
Datum
Anwender
Anzeige
erklär mal bitte genauer ...
01.01.2013 12:21:35
Matthias
Hallo
Anscheinend gehts Anderen wie mir.
Ich habe jedenfalls nichts verstanden.
Mach doch mal ein Bsp.
Die Differenz zwischen zwei benachbarten Zahlen soll gleich der Anzahl der Füllelemente dazwischen +1 sein
Ich komm nicht drauf was Du meinst.
Gruß + ges.Neues - Matthias

AW: erklär mal bitte genauer ...
01.01.2013 13:09:33
Alifa
Hallo,
ich füge noch einige Beispiele mit 6 Elementen hinzu. Als "Füllelement" setze ich diesmal die 0 ein. 230060, 907004,002305,043010. Also der String soll genau 3 Zahlen von 1 bis 9 enthalten. Nehmen wir den String 230060. Der ist WAHR, weil zwischen der 2 und der 3 befinden sich Null "Füllelemente". 0+1=1. Also muss die Nachbarzahl 3 oder 1 sein.(2+1=3; 2-1=1) Die Anzahl der "Füllelemente" kann + oder - angenommen werden. Zwischen der 3 und der 6 befinden sich 2 "Füllelemente"(0). 2+1=3 und 3+3=6, also ist die 6 auch korrekt. Das bedeutet, hier erfüllen die 3 Zahlen die gestellte Bedingung.
Gruß, Alifa

Anzeige
AW: erklär mal bitte genauer ...
02.01.2013 00:31:04
fcs
Hallo Alifa,
den Sinn sollcher Ziffernfolgen verstehe ich zwar nicht, aber nachfolgende benutzerdefinierte Funktion sollte das entsprechende Prüfergebnis liefern.
Gruß
Franz
Function TestString(strTest, Optional strFuell As String = "0") As Boolean
Dim intAnzZahlen, Zahl1, Zahl2, intAnzFuell As Integer
Dim intPos As Integer
TestString = True
If Not IsNumeric(strTest) Then TestString = False: Exit Function
For intPos = 1 To Len(strTest)
If Mid(strTest, intPos, 1) = strFuell Then
intAnzFuell = intAnzFuell + 1
Else
intAnzZahlen = intAnzZahlen + 1
If intAnzZahlen > 3 Then TestString = False: Exit Function
If Zahl1 = 0 Then
Zahl1 = CLng(Mid(strTest, intPos, 1))
intAnzFuell = 0
Else
Zahl2 = CLng(Mid(strTest, intPos, 1))
If Abs(Zahl2 - Zahl1) - 1  intAnzFuell Then
TestString = False
Exit For
End If
Zahl1 = Zahl2
intAnzFuell = 0
End If
End If
Next
If intAnzZahlen 

Anzeige
AW: Gemischten String prüfen
02.01.2013 08:42:30
Alifa
Hallo Franz,
Das Makro ist für die Lösung einer Aufgabe im Freizeitbereich gedacht. In einem Raster sollen Zeilen und Spalten die Bedingungen erfüllen. Einige Zahlen sind vorgegeben. Das Ergebnis ist für mich weniger interessant, als der Lösungsweg via Programm. Der Weg ist das Ziel...
Deine Funktion passt, außer, dass Strings wie 04340 als WAHR erkannt werden. Die 3 Zahlen sollen aber alle UNTERSCHIEDLICH sein. Ich komm zurecht mit der Funktion, denn ich setze eine zusätzliche ein, die prüft, ob die 3 Zahlen unterschiedlich sind. Nach dem Umfang Deiner Funktion zu urteilen, war das gar nicht so einfach! Vielen Dank!
Grüße und ein erfolgreiches, gesundes 2013!
Alifa
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige