Liegt daran das du Option Explicit nicht verwendest.
Solltest du generel unter Extras » Optionen... anhaken (Variablendeklaration erforderlich); wird dann automatisch eingetragen.
Normalerweise landen Public Modul-Variablen im Global scope, wo auch nachgesehen wird, wenn im local scope eine Variable, Methode, oder was auch immer, nicht gefunden wurde. Das Problem ist allerdings, dass wenn Option Explicit nicht gesetzt ist, dann wird bei erstmaliger Verwendung einer Variable im local scope diese erzeugt - und die locale wird dann genutzt, nicht die im global sope.
Warum er dann nach einer eingefügten Zeile doch die richtige findet, kann man nur vermuten - er updated vermutlich und merkt: "ah, in global gibt es die schon; dann ist vermutlich die gemeint und ich erzeuge keine lokal".
Grüße
|