Hallo Dein Schleifen/If- aufbau ist falsch.
Zitat:
For r:=0 to StringGrid1.RowCount-1 do
For c:=0 to StringGrid1.ColCount-1 do <<<<----
If (StringGrid1.Cells[c,r]=suchtext) then
begin
WaehleZeile(r); //Prozedur, die bewirkt, dass eine bestimmte Zeile markiert wird, aufgerufen wird
...
end else
begin
FindDialog1.CloseDialog; 2)
...
end;
Sobald in Cells [0, irgeneine Reihe ] nicht dein Suchtext drin steht, springst du zu 2) und beendest die Suche.
Du müßtest ja erstmal alle Zellen durchlaufen, col und row für das weitersuchen merken und das tust du nicht.
Mfg Frank