Globale Variable deklarieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm MsgBox
Bild

Betrifft: Globale Variable deklarieren
von: Steffen
Geschrieben am: 15.11.2003 11:47:59

Hallo und guten Tag,

ich habe ein kleines Problem wo ich ein bisschen auf der Leitung steht.

Also ich habe in jedem Modul eine constante stehen:

Public Const PSWD As String= "xxx"

Ich möchte aber aus dieser lieber eine Variable machen die für das ganze Modul gilt

Also:

Public PSWD As String = Workbooks(ThisWorkbook.Name).Sheets("aeinstellung").Range("C7").Value

So funktioniert es aber nicht, wie muss ich es anstellen, dass diese Variable für alle Makros im aktuellen Modul gilt ohne, dass ich Sie nochmals deklarieren muss.

Vielen Dank schonmal

Steffen

Bild


Betrifft: AW: Globale Variable deklarieren
von: Nepumuk
Geschrieben am: 15.11.2003 11:55:40

Hallo Steffen,

in einem Standardmodul:

Public PSWD As String

im Klassenmodul "DieseArbeitsmappe"


Private Sub Workbook_Open()
    PSWD = Sheets("aeinstellung").Range("C7").Value
End Sub


Gruß
Nepumuk


Bild


Betrifft: nochmal Frage
von: Steffen
Geschrieben am: 15.11.2003 12:16:04

danke für Deine Antwort, aber eine Frage habe ich dann doch noch.

Wie muss ich die Variable in einer Userform zuweisen.

Ich habs mit:

Private PSWD As String

Das geht nicht.

Danke nochmals

Steffen


Bild


Betrifft: AW: nochmal Frage
von: Nepumuk
Geschrieben am: 15.11.2003 12:25:58

Hallo Steffen,
du musst nichts zuweisen. Durch die Deklaration als Public steht der Wert der Variablen in allen Modulen zur Verfügung.

Beispiel: https://www.herber.de/bbs/user/1981.xls

Gruß
Nepumuk


Bild


Betrifft: geht immer noch nicht
von: Steffen
Geschrieben am: 16.11.2003 20:53:43

Hallo Nepumuk,

leider funktioniert die Sache immernoch nicht richtig.

Folgende Dinge habe ich probiert

'Klassenmodul Diese Arbeitsmappe

Private Sub Workbook_Open()
     PSWD = Workbooks(ThisWorkbook.Name).Sheets("AEinstellung").Range("C7").Value
End Sub


'Normales Modul
Public PSWD As String

Sub test()
MsgBox (PSWD)
End Sub


Mein Problem ist dass die Variable leer ist, was muss ich tun dass immer der oben angegebene Wert ausgegeben wird?

Danke nochmals

Steffen


Bild


Betrifft: geht immer noch nicht
von: Steffen
Geschrieben am: 16.11.2003 20:53:47

Hallo Nepumuk,

leider funktioniert die Sache immernoch nicht richtig.

Folgende Dinge habe ich probiert

'Klassenmodul Diese Arbeitsmappe

Private Sub Workbook_Open()
     PSWD = Workbooks(ThisWorkbook.Name).Sheets("AEinstellung").Range("C7").Value
End Sub


'Normales Modul
Public PSWD As String

Sub test()
MsgBox (PSWD)
End Sub


Mein Problem ist dass die Variable leer ist, was muss ich tun dass immer der oben angegebene Wert ausgegeben wird?

Danke nochmals

Steffen


Bild


Betrifft: AW: geht immer noch nicht
von: Nepumuk
Geschrieben am: 16.11.2003 21:06:26

Hallo Steffen,
das ist für mich nicht mehr nachvollziehbar. Mach das mal in einer neuen Mappe und lade die auf den Server.
Gruß
Nepumuk


Bild

Beiträge aus den Excel-Beispielen zum Thema " Globale Variable deklarieren"