Hi
Ich habe über die Jahre den optimalen verschwitzt.
Mein Modell hat einen kleinen Haken, nämlich dann wenn der gesuchte Begriff nicht gefunden wird oder die Sprungmarke ende-1 erreicht.
Wäre super wenn Ihr meinen Denkfehler findet oder einen passenden Link dazu habt.
Suchen muß ich allerdings nach „Matchcodes“ (String)
danke vorab, ciao
anf = 0
ende = 30000001
mitt = anf
suche = Val(InputBox(„Nach welcher Zahl suchen ?“, „Zahl suchen“, „2“))
If suche > 30000000 Then MsgBox „Zahl zu groß“: Exit Sub
While mitt suche
While mitt suche And mitt > anf
ende = mitt
mitt = (mitt - (ende - anf) \ 2) - 1
Wend
Wend
irgendwann läuft Dein mitt aus dem Integer-Bereich und dann ist Essig mit mittsuche, daher
Dim anf, ende, mitt, suche, zaehler **As Integer**
anf = 0
ende = 30000001
mitt = anf
zaehler = 0
suche = Val(InputBox("Nach welcher Zahl suchen ?", "Zahl suchen", "2"))
If suche \>= ende Then MsgBox "Zahl zu groß": Exit Sub
While mitt suche
mitt = (anf + ende) / 2
If (suche Gruß
Christian
> Suchen muß ich allerdings nach "Matchcodes" (String)
das ist aber Äppel mit Birnen, bei _Matchcodes_ ist die Suche ja ganz anders aufgebaut, denn hier hast Du bspw. den Platzhalter ? oder \* sowie die Option, dass kein Ergebnis in der Liste zu finden ist.
sämtliche variablen sind als SINGLE deklariert, und ich erreiche auch den gewünschten erfolg wenn alle felder gefüllt sind.
mein problem ist aber das wenn der suchtext (oder auch zahl) nicht vorhanden ist das programm dann in eine endlosschleife läuft 
wenigstens habe ich damit eine akzeptable annäherung.
werde ich einfach weiter tüfteln
ciao
mein problem ist aber das wenn der suchtext (oder auch zahl)
nicht vorhanden ist das programm dann in eine endlosschleife
läuft 
While (mitt suche) And (ende - anf \> 1)
damit könnte es funktionieren
While (mitt suche) And (ende - anf > 1)
danke für tip
ciao