18.01.2024, 12:37
Hi,
natürlich kann VBA auch Variablen zurückgeben. Am einfachsten, indem man keine Sub() sondern eine Function() verwendet. Dann gibt es noch die Möglichkeit Variablen ByRef statt ByVal zu übergeben (da sollte man allerdings wissen, was man tut).
Ansonsten kannst du "echte öffentliche Variablen" nur in allgemeinen Modulen und nicht in "DieseArbeitsmappe" definieren.
Noch ein Tipp: auf Public-Variablen sollte man verzichten. Zu schnell passiert es, dass diese "aus Versehen" irgendwo geändert werden. Das kann dann zu überraschenden Fehlern führen, die fast unmöglich zu finden sind. Im Übrigen ist die letzte Zeile eines Blattes jetzt kein Hexenwerk und kann in en Routinen, die das brauchen sehr schnell und sehr leicht selbst bestimmt werden. Diese braucht man also keineswegs als öffentliche Variablen. Vor allem was machst du, wenn der Benutzer zwischendurch irgendwo etwas eingibt und sich dadurch die letzte Zeile verschiebt? Insofern: immer besser diese dann zu bestimmen, wenn man sie braucht.
natürlich kann VBA auch Variablen zurückgeben. Am einfachsten, indem man keine Sub() sondern eine Function() verwendet. Dann gibt es noch die Möglichkeit Variablen ByRef statt ByVal zu übergeben (da sollte man allerdings wissen, was man tut).
Ansonsten kannst du "echte öffentliche Variablen" nur in allgemeinen Modulen und nicht in "DieseArbeitsmappe" definieren.
Noch ein Tipp: auf Public-Variablen sollte man verzichten. Zu schnell passiert es, dass diese "aus Versehen" irgendwo geändert werden. Das kann dann zu überraschenden Fehlern führen, die fast unmöglich zu finden sind. Im Übrigen ist die letzte Zeile eines Blattes jetzt kein Hexenwerk und kann in en Routinen, die das brauchen sehr schnell und sehr leicht selbst bestimmt werden. Diese braucht man also keineswegs als öffentliche Variablen. Vor allem was machst du, wenn der Benutzer zwischendurch irgendwo etwas eingibt und sich dadurch die letzte Zeile verschiebt? Insofern: immer besser diese dann zu bestimmen, wenn man sie braucht.
Gruß,
Helmut
_____
Office365 auf MacOS und Win10
Helmut
_____
Office365 auf MacOS und Win10