Deklaration von Variablen

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


Excel-Version: 97
nach unten

Betrifft: Deklaration von Variablen
von: Heike
Geschrieben am: 13.04.2002 - 06:00:06

Schönen guten Morgen,

in "DieseArbeitsmappe" unter Workbook_Open sollen Variablen festgelegt werden, auf die aus einem allgemeinen Modul jederzeit zugegriffen werden soll, solange wie die Arbeitsmappe geöffnet bleibt.
Bisher sind bei mir die Variablen verloren, wenn das Workbook_Open abgearbeitet ist.
Was muss ich bei der Deklaration von Variablen beachten?
Vielen Dank im Voraus.

Gruß Heike


nach oben   nach unten

Re: Deklaration von Variablen
von: GraFri
Geschrieben am: 13.04.2002 - 07:28:25

Hallo

Verwende:
Sub Auto_Open() in einem allgemeinen Modul, dann sollte es funktionieren.

mfg, GraFri

nach oben   nach unten

Re: Deklaration von Variablen
von: Heinz A. Wankmüller
Geschrieben am: 13.04.2002 - 08:34:21

Hallo Heike,

warum definierst du nicht Namen, die stehen dir in der betreffenden Arbeitsmappe jederzeit zur Verfügung.

Gruß Heinz


nach oben   nach unten

Re: Deklaration von Variablen
von: Heike
Geschrieben am: 13.04.2002 - 08:59:57

Hallo Heinz,

geht das auch mit einem 2-dimensionalen Array?
Ich hab das schon probiert, bin aber nicht mit den vielen Anführungsstrichen zurecht gekommen, die dabei nötig sind.

Gruß Heike


nach oben   nach unten

Re: Deklaration von Variablen
von: Heike
Geschrieben am: 13.04.2002 - 10:06:10

Hallo GraFri,

irgendwo habe ich mal gelesen, dass die Auto-Prozeduren nur noch aus Kompatibilitätsgründen zur Verfügung stehen. Habe aber trotzdem deinen Tip anhand eines Beispiels ausprobiert:


Public xy$(1 To 2, 1 To 12)

Sub Auto_Open()
    Dim x%
    For x = 1 To UBound(xy, 2)
        xy(1, x) = x Mod 3
        xy(2, x) = Format(DateSerial(Year(Now), x, 1), "mmmm")
    Next x
End Sub

Sub Test()
    Dim Text$, x%
    For x = 1 To UBound(xy, 2)
        Text = Text & xy(2, x) & " " & xy(1, x) & vbCr
    Next x
    MsgBox Text
End Sub


Funktioniert prima:
Wenn ich irgendwann nach Öffnen der Arbeitsmappe "Test" ausführe, bekomme ich eine MsgBox mit den erwarteten Infomationen.
Aber wie muss ich vorgehen, wenn ich trotzdem die Workbook_Open-Prozedur verwenden möchte?

Gruß Heike

nach oben   nach unten

Re: Deklaration von Variablen
von: Hajo
Geschrieben am: 13.04.2002 - 10:22:09

Hallo Heike

du kannst auch die Prozedur Workbook_Open benutzen Du mußt nur die Variablen in einem Modul als Public Definieren und nicht in DieserArbeitsmappe Definieren.


Gruß Hajo


nach oben   nach unten

Re: Deklaration von Variablen
von: Heike
Geschrieben am: 13.04.2002 - 11:29:07

probier ich gleich mal aus, danke.

nach oben   nach unten

Re: Deklaration von Variablen
von: Heike
Geschrieben am: 13.04.2002 - 11:57:46

Hallo Hajo,

auf Grund deines Tipps habe ich in den Code wie folgt geändert:


Public xy$()

Sub Start(Maxi%)
    Dim x%
    ReDim xy(1 To 2, 1 To Maxi)
    For x = 1 To UBound(xy, 2)
        xy(1, x) = x Mod 3
        xy(2, x) = Format(DateSerial(Year(Now), x, 1), "mmmm")
    Next x
End Sub

Sub Test()
    Dim Text$, x%
    For x = 1 To UBound(xy, 2)
        Text = Text & xy(2, x) & " " & xy(1, x) & vbCr
    Next x
    MsgBox Text
End Sub


In der Workbook_Open-Prozedur rufe ich "Start" mit dem Parameter 12 auf.
Durch die Parameterübergabe wird "Start" nicht in der Liste der zur Verfügung stehenden Makros (Alt-F8) aufgeführt, sondern nur "Test". ;-)
Ich glaube, das ist sicher die sauberste Lösung, danke nochmal.

Gruß Heike

nach oben   nach unten

Re: Deklaration von Variablen
von: Hajo
Geschrieben am: 13.04.2002 - 12:01:31

Hallo Heike

schreibe in das Modul als erste Zeile
Option Private Module

dann ist das zweite Makro auch nicht zu sehen.

Gruß Hajo


nach oben   nach unten

Danke (m.T.)
von: Heike
Geschrieben am: 13.04.2002 - 23:22:23

Danke für den Tipp, mach ich.

Gruß Heike


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Deklaration von Variablen"