nur als generelle anmerkung: subroutinen, speziell in modulen, sollten nie auf variablen aus dem hauptprogramm zugreifen dürfen.
dafür gibt es parameter, die man den subroutinen übergeben kann.
sonst verlierst du den überblick, welches modul wann auf welche deiner variablen zugreift. habe genug erfahrung mit wartung solcher programme gesammelt...