Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Variable für ganze Projekt!
15.09.2005 23:12:15
wuntschi
Hallo an alle,
ich möchte gerne zu start des Programms ein Variable
strSprache = Worksheets("Optionen").Cells(1,255).Value
auslesen.
Frage 1: Ist es möglich das ich dann auch Modul übergreifend auf diese
Variable strSprache zugreifen kann?
Frage 2: Wenn ich jetzt an einer zweiten Stelle den Wert aktualiesieren
möchte , wie kann ich dieses machen?
Gruß
wuntschi

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable für ganze Projekt!
15.09.2005 23:16:06
Ramses
Hallo
Definiere in einem Modul deine Variable
Global strSprache as Integer/String/Boolean
oder was auch immer.
Im Workbook-Open Ereignis kannst du dann die Variable füllen und jederzeit drauf zugreifen
Aktualisieren kannst du die Variable jederzeit neu
Gruss Rainer
AW: Variable für ganze Projekt!
15.09.2005 23:30:27
wuntschi
Hallo Rainer,
kann ich sie auch in dem Workbook open deklarieren?
Gruß
wuntschi
AW: Variable für ganze Projekt!
15.09.2005 23:36:10
Ramses
Hallo
Nein, Variablen die allgemein gültig sein sollen müssen in einem Modul deklariert werden.
Deklarierst du sie in einem Klassenmodul, können sie nicht mehr von anderen Makros angesprochen werden.
Gruss Rainer
Anzeige
AW: Variable für ganze Projekt!
16.09.2005 00:03:10
wuntschi
Hallo Rainer,
spielst auf den Hinweis hin der besagt das man das in einem Modul deklarieren muß.
Wenn ja ich verstehe noch nicht ganz ob das
SUB Workbook OPEN
auch ein Modul ist?
gruß
wuntschi
AW: Variable für ganze Projekt!
16.09.2005 00:07:21
Ramses
Hallo
kannst du mir dann mal erklären wo dann die ganzen Codes herkommen die du in deiner Beispielmappe hast ?
Tut mir leid, aber du stellst hier Mappen rein, mit sehr umfangreichen und komplexen Codes,.... und hast keine Ahnung was das "Workbook_Open" Ereignis ist ?
DAS steht in deiner Beispielmappe

Private Sub Workbook_Open()
ModulDiverseFunktion.menü_deutsch
ModulDiverseFunktion.menü_englisch
End Sub

Also bitte sag mir nicht, dass du das nicht kennst ;-)
Gruss Rainer
Anzeige
AW: Variable für ganze Projekt!
16.09.2005 00:20:23
wuntschi
Hallo Rainer,
ich möchte dir kurz etwas zu meiner Person sagen,
ichbeschäftige mich seit ca 5 Wochen mit Excel und VBA,
würde mich als Quereinsteiger bezeichnen.
Ich habe sehr viel hier im Forum gelernt,
aber wie es eben so ist merke ich jetzt gerade
das ich einige Grundlagen nicht
mit bekommen habe.
Ich habe derzeit zum Beispiel:
in 10 Modulen
und 20 UserForm
eine Makro drin in dem ich eine
Varibel mit dem Namen intSpracheSpalte immer wieder neu auslese
und zwar wie folgt,
DIM intSpracheSpalte as integer
intSpracheSpalte = Worksheets("Optionen").Cells(1,255) Value
und von Solchen Variabeln habe ich noch einge mehr
wo ich mir zustände her hole.
Nun wollte ich eben nur einmal z.B. dieses machen
und dann die Variabel in allen UserForm und Modulen verwenden.
Und bitte glaube mir ich habe im Moment keine Ahnung wie
ich das hinbekommen soll.
Gruß
wuntschi
Anzeige
..wenn ich mich nochmal...
16.09.2005 00:33:49
MichaV
..einmischen darf ;o)
"Ich habe derzeit zum Beispiel:
in 10 Modulen
und 20 UserForm"
Schreibe in irgendein von Deinen 10 Modulen ganz oben (im Deklarationsbereich, über der ersten Sub)
DIM intSpracheSpalte as integer
Nun kannst Du aus allen anderen Modulen und UserForms und Objektmodulen (Tabellen usw) auf intSprache zugreifen. Die Dims in den einzelnen Prozeduren musst Du dann aber löschen!!!
Gruß- Micha
AW: ..wenn ich mich nochmal...
16.09.2005 00:42:59
wuntschi
Hallo Micha,
und wo sage ich nun einmal was in der intSprache stehen soll?
gruß
wuntschi
AW: ..wenn ich mich nochmal...
16.09.2005 00:49:09
MichaV
Hallo,
siehe einen Threat- Zweig weiter unten ;o)
Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.
Gruß- Micha
Anzeige
AW: ..wenn ich mich nochmal...
16.09.2005 01:06:06
wuntschi
Hallo ihr beiden,
ich habe es nun begriffen!
danke für den langen Atem.
gruß
wuntschi
Gratulation! Lasst und feiern ;o) o.w.T.
16.09.2005 01:12:05
MichaV
AW: Variable für ganze Projekt!
15.09.2005 23:37:31
Ramses
Hallo
Also dafür muss man nun wirklich keine DAtei hochladen :-(
Die Meldung sagt doch eigentlich alles und ist selbsterklärend!
Gruss Rainer
AW: Variable für ganze Projekt!
15.09.2005 23:39:52
wuntschi
Hallo,
mir sagt das aber leider noch nichts!
gruß
wuntschi
AW: Variable für ganze Projekt!
15.09.2005 23:53:20
MichaV
Hallo wuntschi,
bevor Ramses den Seth auf Dich wirft:
schreib nicht Global sondern Public. Dann ist die Variable aber nur innerhalb des Objektmodules (also des Tabellenblattes oder der UserForm) für alle Subs und Functions abgreifbar. Nur wenn Du sie in einem allgemeinen Modul Public (oder Global) deklarierst, ist sie für alle anderen (Objekt-)Module abgreifbar!
Ich muß dir Recht geben, so eindeutig steht es nicht in dem Hinweis. Du hast keine Konstante, keine Zeichenfolge fester Länge, kein benutzderdefiniertes Datenfeld und keine Declare Anweisung. Aber es ist so wie Ramses Dir schon ind er ersten Antwort gesagt hat: Es geht nur in einem Standart- Modul.
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Variable für ganze Projekt!
15.09.2005 23:56:20
Ramses
Hallo Micha
Danke :-)
Aber "Public" ist Standard,... das musst du gar nicht schreiben :-)
Da kannst du auch einfach
Dim strSprache as String
schreiben. Hat den gleichen Effekt,... aber "Public" sieht irgendwie eindrucksvoller aus ;-)
Gruss Rainer
AW: Variable für ganze Projekt!
16.09.2005 00:04:22
MichaV
Hallo Rainer
ja, aber wozu dann das Global? Kannte ich noch nicht, und die OH hüpft gleich zu Public. Hättest Du doch auch weglassen können ;o) ...sieht aber noch besser aus als Public.
Gruß- Micha
AW: Variable für ganze Projekt!
16.09.2005 00:15:12
Ramses
Hallo Micha
"Global" ist History und aus Tradition,... und in meinem "Alter" ;-)
Du hast natürlich recht, es reicht die Variable in einem Modul ausserhalb einer Prozedur zu deklarieren, um Sie aus innerhalb des Projektes von überall anzusprechen.
Gruss Rainer
Anzeige
AW: Variable für ganze Projekt!
16.09.2005 00:35:41
wuntschi
Hallo Micha,
folgendes habe ich in ein makro geschrieben
************************************************************
public strSpalteSprache As Integer
intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value
Public

Sub std_Var_reset()
intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value
End Sub

************************************************************
aber er sagt das intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value
nicht ausserhalb einer

Sub prozedur liegen darf!
was ist hier los?
gruß wuntschi

Anzeige
AW: Variable für ganze Projekt!
16.09.2005 00:45:15
MichaV
Hallo,
rate mal, warum der Deklarationsbereich so heißt. Weil man da nur Deklarieren darf! Du willst aber deklarieren und zuweisen. Mach mal so:
-----------------------------------

public strSpalteSprache As Integer
Sub std_Var_reset()
msgbox "Die Sprache ist " & strSpalteSprache
End Sub

-----------------------------------
Deine Zeile intSpalteSprache = Worksheets("Optionen").Cells(1, 255).Value schreibst Du in eine Prozedur, die auf jeden Fall abgearbeitet wird, z.B. in die Worksheet_Open- Ereignisprozedur.
Gruß- Micha
Anzeige
AW: Variable für ganze Projekt!
16.09.2005 01:10:39
wuntschi
Hallo Micha,
eine Frage noch,
soll ich alle Variabeln im Modul im Deklarationsbereich deklarieren?
gruß
wuntschi
AW: Variable für ganze Projekt!
16.09.2005 01:22:19
MichaV
Hallo,
neee, nur die öffentlichen...
ich geh schlafen, N8!
Gruß- Micha
AW: Variable für ganze Projekt!
15.09.2005 23:53:46
Ramses
Hallo
"...mir sagt das aber leider noch nichts!.."
Dann lies meinen vorherigen Beitrag
Gruss Rainer

48 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige