Geht's noch?
Ich habe bei meinen Beispiel nicht drauf geachtet, was da als Bedingung steht, sondern nur eins zu eins in eine Unterroutine gepackt.
Wo ist denn jetzt das Problem?
Der Threadersteller hat doch schon selber erkannt, dass es so wie bisher nicht optimal ist und die richtige Lösung mit InRange hast du ihm doch auch schon gegeben.