Supportnet / Forum / Tabellenkalkulation
globale varibale
Frage
hallo zusammen
ich möchte gerne zwei variabeln definieren, so dass sie in der gesamten Arbeitsmappe gültig sind.
ich wollte das mit
public x%, y% machen
das geht auch
nun sollen sie konstant bleiben und einen wert zugewiesen bekommen, ich habe mir das so gedacht
public const x%=1
public const y%=1
leider geht das so nicht, excel motzt, dass ich weder Konstanten als public definieren kann, noch einen Wert ausserhalb einer sub zuweisen.
wie kann ich mein ziel doch noch erreichen? wäre dankbar für euren input.
gruss
andrea
Antwort 1 von coros
Hallo Andrea,
Du kannst mit Public keiner Variablen einen Wert zuweisen. Mit Public wird eine Variable deklariert, sprich ihrem Typen zu gewiesen, so dass sie in der gesamten VBA Umgebung zur Verfügung steht, anders als beim Deklarieren mit der Anweisung "Dim".
Wenn Du einer Variablen einen Wert zuweisen willst, muss dass immer in z.B. einem Makro oder einem anderen Ereignis geschehen. man könnte also z.B. beim aktivieren eines Blattes über ein Worksheet_Activate-Ereignis den Variablen einen Wert zuweisen. Das würde dann folgendermaßen aussehen:
Eventuell hilft Dir mein Beispiel ja weiter. Bei Fragen melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Du kannst mit Public keiner Variablen einen Wert zuweisen. Mit Public wird eine Variable deklariert, sprich ihrem Typen zu gewiesen, so dass sie in der gesamten VBA Umgebung zur Verfügung steht, anders als beim Deklarieren mit der Anweisung "Dim".
Wenn Du einer Variablen einen Wert zuweisen willst, muss dass immer in z.B. einem Makro oder einem anderen Ereignis geschehen. man könnte also z.B. beim aktivieren eines Blattes über ein Worksheet_Activate-Ereignis den Variablen einen Wert zuweisen. Das würde dann folgendermaßen aussehen:
Public x%, y%
Private Sub Worksheet_Activate()
x% = 1
y% = 1
End SubEventuell hilft Dir mein Beispiel ja weiter. Bei Fragen melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

