Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zahlenkombination in String suchen

Zahlenkombination in String suchen
02.08.2016 20:08:20
ViGo
Hallo zusammen!
Ich hab ein Problem, bei dem ich nicht weiterkomme. Vielleicht hat von euch ja jemand eine Idee, welche Methode man da anwenden kann.
Ich habe Zahlen von 1-30. Nun muss ich anhand von 2 Zahlenkombinationen prüfen, ob eine Restriktion vorliegt. Eine Restritkion liegt dann vor, wenn in einer Matrix ein "x" hinterlegt ist.
Die Zahlen, die ich prüfen muss, werden mir als Variable übergeben (also a=1, b=2; c=4,...). Sie werden aus einer Zelle ausgelesen (z.B.: 1;2;4;6;11;14;17;18;20,22;29;30). Das Erkennen der Teilstrings klappt und auch das Auffinden von diesen x-en.
Nun würde ich gerne folgendes umsetzen:
- für jedes x in Bereich y soll geprüft werden, welche Zahlenkombination eine Restriktion darstellt.
- Anschließend prüfe, ob diese Zahlenkombination in dieser Zelle vorkommt (z.B.: 1;2;4;6;11;14;17;18;20,22;29;30).
Mein Versuch bisher war es mit der Funktions Instr da ran zu gehen. Wenn ich allerdings die Zahlenkombination 1 und 2 vorliegen habe, dann kommt bei Instr die 1 gleich 5 mal vor, die 2 kommt 4 mal vor.

zelle = "1;2;4;6;11;14;17;18;20,22;29;30"
Set blatt1 = Worksheets("Blatt1")
With blatt1
Set c = blatt1.Range("c3:y22").Find("x", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
a = c.Row                         'Zeile
b = c.Column                      'Spalte
yy = blatt1.Cells(a, 3)           '1. Zahl
zz = blatt1.Cells(3, b)           '2. Zahl
'Prüfung, ob beide Zahlen Restriktion darstellen --> x
If InStr(zelle, yy) > 0 And InStr(zelle, zz) > 0 Then
MsgBox "Es liegt eine Restriktion vor!"
Else: End If
Set c = blatt1.Range("c3:y22").FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If

Ich würde gern nur 1 oder 2 suchen, nicht *1* oder *2*, was Instr zu machen scheint...
Weiß jemand von euch eine alternative Methode?
Viele Grüße,ViGo

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

Betreff
Datum
Anwender
Anzeige
AW: Zahlenkombination in String suchen
02.08.2016 21:27:02
Daniel
Hi
nimm sowohl beim durchsuchten String "Zelle", als auch beim gesuchten String "yy" und "zz" das Trennzeichen ";" am Anfang und Ende mit dazu:
If InStr(";" & zelle & ";" , ";" & yy & ";") > 0 And InStr(";" & zelle & ";", ";" & zz & ";") > 0 Then 
dh du suchst dann mit Instr(";1;2;4;6;11;14;17;18;20,22;29;30;", ";3;"), dann erzeugt die "3" keinen Treffer bei der "30"
Gruß Daniel
AW: Zahlenkombination in String suchen
02.08.2016 22:21:07
ViGo
Ja cool, das klappt! :D
Danke dir!
Es ist jetzt auch schon etwas spät, aber wie kommst du auf die 3?
Anzeige
AW: Zahlenkombination in String suchen
02.08.2016 22:31:24
Daniel
weil "3" der erste Wert ist, bei dem das Instring ohne ohne die ";" fälschlicherweise einen Fund anzeigen würde.
Gruß Daniel
AW: Zahlenkombination in String suchen
03.08.2016 13:22:34
ViGo
Alles klar, danke dir für deine Hilfe, Daniel!
Viele Grüße, ViGo

326 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige