Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Public Variablen setzten geht nicht

Betrifft: Public Variablen setzten geht nicht von: Otto
Geschrieben am: 18.09.2004 14:15:42

Hallo allerseits,

ich versuche globale Variablen zu definieren und denen global Wert zu weisen, so daß sie im ganzen Projekt nur einmal definiert und mit Wert gefüllt werden und von jedem Modul mit ihren Werten erreichbar sind.

Dazu ein Beispiel:

https://www.herber.de/bbs/user/11036.xls


Hoffe ihr könnt mir helfen

Gruß, Otto

  


Betrifft: AW: Public Variablen setzten geht nicht von: Mike E.
Geschrieben am: 18.09.2004 14:27:08

Hallo Otto,

öffentliche Variablen deklarierst du so:

Public DeineVariable As String

(außerhalb eines Subs)

Grüße
Mike


  


Betrifft: AW: Public Variablen setzten geht nicht von: Otto
Geschrieben am: 18.09.2004 14:35:21

Hallo Mike,

danke für die Antwort.

Aber das war leider nicht meine Frage.

Soweit war ich auch ;-) Aber wie weise ich dieser Variable dann global einen Wert zu?

Wenn ich z.B. außerhalb der Prozedur folgendes eingebe

Public tbl1 As Worksheet
Set tbl1 = Worksheets("Tabelle1")

bekomme ich Fehlermeldung.

Wie kann ich es denn lösen? Ich möchte nicht in jedem Modul die Variable mit

Set tbl1 = Worksheets("Tabelle1")

setzen, sondern nur einmal global für das ganze Projekt.

Gruß

Otto


  


Betrifft: AW: Public Variablen setzten geht nicht von: Mike E.
Geschrieben am: 18.09.2004 14:43:22

Hm...ok,

dann so?

So musst du immer nur diese 3 Buchstaben eingeben...gibt aber sicherlich bessere Lösungen...

Public Ws As Worksheet

Sub Wsh()
Set Ws = Worksheets("Tabelle1")
End Sub


Sub Test()
Wsh
MsgBox (Ws.Name)

Viele Grüße
Mike
End Sub



  


Betrifft: AW: nicht schlecht ... von: Otto
Geschrieben am: 18.09.2004 14:50:43

Hallo Mike,

vielen Dank für die schnelle Lösung.

Funktioniert ganz gut.

Ich fürchte , es gibt keine bessere Lösung dafür bei VBA.

Danke nochmal

Viele Grüße

Otto


  


Betrifft: anderer Ansatz von: Reinhard
Geschrieben am: 18.09.2004 15:07:34

Hi Otto,
wie wärs damit: https://www.herber.de/bbs/user/11038.xls
Gruß
Reinhard


  


Betrifft: AW: anderer Ansatz von: Otto
Geschrieben am: 18.09.2004 15:20:46

Hallo Reinhard,

danke für die Antwort. Aber mir ging es um die Public Variablen, wie man sie überhaupt global setzen kann.

Ich glaube VBA bietet keine solche Lösung an. Deswegen finde ich die Lösung von Mike am geeignetesten.

Viele Grüße

Otto


  


Betrifft: AW: anderer Ansatz von: Ulf
Geschrieben am: 18.09.2004 17:56:18

Wenns wirklich eine Variable sein muss, gehts auch gar nicht anders!

Ulf


  


Betrifft: AW: Public Konstante von: Otto
Geschrieben am: 19.09.2004 13:33:46

Hallo Otto,

Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4

Wahrscheinlich suchst Du eine globale Konstante. Sie wird wie eine globale Variable in einem normalen Modul deklariert:
Public Const strWSMB As String = "Worksheet Menu Bar"    



Gruß Otto


 

Beiträge aus den Excel-Beispielen zum Thema "Public Variablen setzten geht nicht"