Na ja, perfekt kann es so nicht sein:

"If Zaehlwert > Zaehlwert_alt Then "

da wird nur hoch gezäht und zwar bis wann? Bis die Variable überläuft?