Hallo Diane,
so funktioniert das nicht. Du hast zwar jetzt den ganzen Quellcode gepostet, man kann den aber natürlich nicht ausprobieren. Uns fehlen nämlich die Tabellen mit den Werten drin, mit denen etwas angestellt werden soll. Merke: Es fehlen nicht nur die Werte, sondern vor allem auch die Tabellen, auf die sich im Quelltext bezogen wird.
Als allererste Maßname schreibe bitte mal ganz oben in Dein Modul Option Explicit rein. Wenn Du dann versuchst das Makro zu starten, bekommst Du gleich die erste Fehlermeldung, dass eine Variable nicht deklariert wurde. Der Tipp mit dem weglassen deutscher Sonderzeichen war schonmal goldrichtig. Wie Du an der ersten markierten Variable erträge_min aber siehst, hast Du mindestens diese eine nicht erwischt. Deshalb folgender Tipp: Wenn Du gleiche Dinge im ganzen Quelltext ersetzen willst, dann nutze Suchen und Ersetzen nutzen kannst. Für die Ersetzung der Umlaute kannst Du sogar direkt auf Alle ersetzen klicken, Das geht natürlich nicht immer, aber Umlaute sollen alle weg.
Wenn Du erträge_min geändert hast, kommt beim zweiten Versuch direkt der nächste Fehler dieser Art. Die betroffene Variable heißt aufwendundungenFinanzergebnis_min. Weiter habe ich das nicht durchexerziert.
Ob Dein Fehler bei Dir anschließend weg ist, kann keiner sagen. Falls er noch da ist, lade die Excel-Datei irgendwo hoch und verlinke sie hier. Z.B. auf Dropbox.
Da Du mit globalen Variablen arbeitest, muss sichergestellt sein, dass bei Deiner deklarationsweise alle Variablen nur in diesem einen Modul verwendet werden. Wenn Du eine davon in einem anderen Modul verwendest, ist die darin unbekannt. Dann musst Du die betreffenden Variablen im Modulkopf nicht mit Dim, sondern mit Public deklarieren. Hier mal ein Link zu Gültigkeitsbereichen von Variablen in VBA:
https://de.wikibooks.org/wiki/VBA_in_Excel/_G%C3%BCltigkeit_von_Variablen_und_Konstanten
Viele Grüße,
Zwenn
|