Hallo Dr.,
man kann grundsätzlich schauen ob
Sub tt()
'ggfs. Ber() anpassen
Dim Zelle As Range, B As Integer, Ber(1000) As Range, Zuf As Range
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
’
’ Code
’
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
etwas bringt, was ich hier aber bezweifle. WAs den Code so langsam macht ist, er muß alle Zellen einzeln „abklappern“, das hält auf.
Man müßte die Codelogik/Ablauf verändern.
Ich weiß ja nicht wie der Code aussieht der Schlange und das Spielfeld.
Man könnte Ber(1000) und B als globale Variablen deklarieren.
Dann kann man sie z.B. bei Öffnung der Mappe befüllen.
Kommen dann im Spiel durch was auch immer noch bunte Zellen dazu, muß man in dem Moment
b=b+1
set ber(b)=zelle
schreiben, das geht fix.
Braucht man dann die Zufallszelle
Set Zuf = Ber(Int(Rnd() * B + 1))
geht auch fix.
Denkbar wäre auch der Einsatz von „specialcells“. Schau dazu in F1 nach.
D.h. in dem Moment wo du die Zelle färben läßt weist du ihr irgendwas zu was specialcells rausfiltern kann. Dann entfällt auch die „langsame“ For-Schleife.
Es gibt noch andere mögliche Vorgehensweisen, aber dazu müßte man den Komplettcode kennen und das kann dann auch schnell zuiel werden für den Sinn von w-w-w.
Gruß
Reinhard