Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

static sub

static sub
21.09.2007 15:14:00
Lotharp
Hallo Zusammen,
ich habe in der Hilfe zu public / static folgenden Text gefunden:
static :Optional. Die lokalen Variablen der Sub-Prozedur bleiben zwischen Aufrufen erhalten
Ich hatte as nun so verstanden das ich eine

Sub schreibe deren VAriable während des Laufs allen anderen Subs dann auch bekannt ist. Das  _
scheint aber falsch zu sein, denn mein Test war nicht erfolgreich:
Static 

Sub parmtest()
Dim wbname As String
wbname = ActiveWorkbook.FullName
ActiveWorkbook.Close
WBSTOPEN
End Sub


Static


Sub WBSTOPEN()
Workbooks.Open (wbname)
End Sub


Nun ist klar das ich die VAriable weitergeben kann indem ich den Aufruf der


Sub mit den Variablen in den Klammern mitgebe, in dem Fall muss ich aber der FOLGE 

Sub ja auch die Variablen in Klammer bekanntgeben. In diesem Fall kann ich die Folge

Sub aber nicht mehr ALLEINE laufen lassen.
Ich versuche seit einiger Zeit mir eine modulare Programmumgebung zu schaffen, bleibe aber an  _
genau dieser SAche hängen.
Vieleicht kann mir jemand helfen, wäre nett so kurz vorm Wochenende.
Vielen DAnk im Vorraus und schönes Wochenende!!
Gruß
Lothar

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: static sub
21.09.2007 15:21:00
Renee
Hallo Lothar,
Es gibt grob gesagt:
a) Public xVariable .... Diese ist in einem Modul (ausserhalb einer Sub) definiert für alle Routinen verfügbar
b) Static xVariable .... Nur innerhalb der entsprechenden Routine verfügbar, aber nicht flüchtig d.h. sie behält ihren Wert nach dem Verlassen der Routine.
c) Dim xVariable .... Nur innerhalb der entsprechenden Routine verfügbar, aber flüchtig d.h. sie verliert ihren Wert nach dem Verlassen der Routine und wird beim Wiedereintritt neu initialisiert.
GreetZ Renee

AW: static sub
21.09.2007 15:27:06
Lotharp
Hallo Renee,
vielen Dank für die flotte Antwort!
Soweit ich das verstehe gebe ich die VAriable bekannt im Grunde sobald ich das "MODULBLATT" leer vor mir habe? Wie sieht sowas aus, leider finde ich nichts über sowas wie "übergreifende VAriablendeklaration", oder ich stell mich einfach nur zu blöd an!?
Wäre nett wenn du mir das kurz erklären oder "zeigen" könntest!?
Danke nochmal
Gruß
Lothar

Anzeige
AW: static sub
21.09.2007 15:32:00
Renee
Hi Lothar,
z.B. so ins leere Modulblatt:

Option Explicit
Public xVariable As String
Sub M1()
MsgBox "xVariable = [" & xVariable & "]" & vbCrLf & _
"wird jetzt auf [Ich komme von M1] gesetzt!"
xVariable = "Ich komme von M1"
End Sub
Sub M2()
MsgBox "xVariable = [" & xVariable & "]" & vbCrLf & _
"wird jetzt auf [Ich komme von M2] gesetzt!"
xVariable = "Ich komme von M2"
End Sub


GreetZ Renee

AW: static sub
21.09.2007 15:39:17
Lotharp
Hi Renee,
jepp das isses!!
DANKE DIR !
Und ein schönes Wochenende!!!!!!!!!!!
Gruß
Lothar

Anzeige
AW: static sub
21.09.2007 15:43:00
Lotharp
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄH, sorry!
Ich bin wirklich zu blöd!!!!
Dein Beispiel hat funtioniert, aber auf meins zurückgebaut gehts nicht!!? :- (
WARUM?
Hoffe du hast eine Idee?
Lothat

ICH HABS!!!!! ;-))
21.09.2007 15:49:00
Lotharp
HAAAAAALT,
ich habs raus, ich hatte die VAriable ja nochmal in der zweiten Sub deklariert!!!!
Nochmals Danke und schönes Wochenende!
Lothar

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige