Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
304to308
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
304to308
304to308
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variable übernehmen

Variable übernehmen
05.09.2003 09:50:15
Tim
Hallo Forum,

ich möchte eine Variable, der ich in einer Sub-Prozedur einen Wert zugeordnet habe, in einer anderen Sub-Prozedur weiterverwenden. Muss man dafür diese Variable in der ersten Prozedur einfach als public deklarieren?

Danke!

Tim

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ja oT
05.09.2003 09:51:20
Hajo_Zi
Sollte man aber lassen! o.T.
05.09.2003 10:02:15
Michael Scheffler
AW: Sollte man aber lassen! was auch stimmt
05.09.2003 10:08:43
Hajo_Zi
Hallo


Sub Makro()
I = 10
Makro2 (10)
End Sub



Sub Makro2(Wert As Integer)
MsgBox Wert
End Sub


Gruß Hajo
Warum? (nT=no Text) (oT=Off Topic)
05.09.2003 10:10:06
Andreas Walter
Ist es hier ein Wettbewerb ein Thread ohne Inhalte nur über Betreff zu führen?

Die Frage Warum ist ernst gemeint
AW: Warum?
05.09.2003 10:12:03
Hajo_Zi
Hallo Andreas die Frage war

"ich möchte eine Variable, der ich in einer Sub-Prozedur einen Wert zugeordnet habe, in einer anderen Sub-Prozedur weiterverwenden. Muss man dafür diese Variable in der ersten Prozedur einfach als public deklarieren?

und da reicht Ja oder Nein.

Gruß Hajo
Anzeige
AW: Warum?
05.09.2003 10:15:47
Andreas Walter
Hallo Hajo und Michael

Michael meint
> Sollte man aber lassen! o.T.

Mein Frage ist
Warum sollte man es lassen?

Grüße

Andeas Walter
AW: Warum?
05.09.2003 10:19:00
Hajo_Zi
Hallo Andreas

mit Public Variablen kann man unterschiedlicher Auffassung sein. Einige vertreten die Auffassung es braucht nicht zu sein , siehe auch mein Beispielcode. Es wird durch die Variablen nur Speicher belegt, der auch nach Ende des Makros noch belegt ist.

Ich bin auch nicht gegen Public Variablen.

Gruß ahjo
AW: Warum?
05.09.2003 10:24:19
RZ
Hallo Hajo,

Sieh dir bitte noch einmal dein Makro an, dass du eben gepostet hast.

1.Die Variable I nicht dimensioniert
2.Die Variable I wird dann gar nicht verwendet, sondern es wird nur eine Konstante übergeben, die im zweiten Makro als 'Wert' dimensioniert ist.

Befasse dich 'mal ernsthaft mit ByVal und ByRef

Gruß
Anzeige
AW: Warum?
05.09.2003 10:26:47
Hajo_Zi
Hallo RZ

in meinem Code steht nicht Option Explicit, damit brauch ich I nicht zu dimensionieren.

Gruß Hajo
AW: Warum?
05.09.2003 10:56:47
Michael Scheffler
Hi,

globale Variable zu vermeiden, wo es geht, ist eigentlich Gebot jeder guten und Programmierung (egal ob objektorientiert oder strukturiert). Wenn man z.B. getrennt voneinander Unterprogramme entwickelt, ist es sinnvoll, Schnittstellen zu definieren. Das geht aber nur mit Übergabeparametern. Alles andere erschwert Wartbarkeit und Skalierbarkeit von Code. Wenn Du globale Parameter definierst, weißt Du nie, wo Dein Parameter wie verändert wurde -> Fehlerquelle.

Leider ist VB so gestaltet, dass man nicht zu sauberer Programmierung gezwungen wird.

Wenn man mal mit FORTRAN, PASCAL etc. gearbeitet hat, hat man im Hinterkopf, dass globale Variable nur mit Mühe zu erzeugen sind.

Ausnahmen bestätigen wie immer die Regel: hast Du eine UserForm und willst Daten übergeben, kommst Du meist um globale Variabe nicht herum.

Gruß

Micha
Anzeige
AW: Warum?
05.09.2003 11:01:04
Hajo_Zi
Hallo Michael

gerade in einer Userform würde ich schreiben kommt man ohne aus. Jedes Steuerelement hat doch die Eigenschaft Tag die man als Variable benutzen kann.

Irgendwie läuft in diesem Beitrag was falsch. Von Tim der diesen Beitrag eröffnet hat hört man nichts und der Beitrag ist schon recht umfangreich.

Gruß hajo
AW: Warum?
05.09.2003 11:21:02
Andreas Walter
Hi

Hajo sagt
> Irgendwie läuft in diesem Beitrag was falsch. Von Tim der diesen Beitrag eröffnet hat hört man nichts und der Beitrag ist schon recht umfangreich.

Finde ich nicht - das ist normaler sog. "Thread drift".
Michael behauptet etwas und es wird hinterfragt.
Muss so sein, weil keiner von uns auf der Idee kommen würde plötzlich in
Off-Topic oder in einem neuen Thread nach einer Fortsetzung zu suchen.

Grüße

Andreas Walter

PS Danke für die Rückmeldungen
Anzeige
Ok Hajo - ich benutze Tag auch, finde es aber
05.09.2003 11:35:30
Michael Scheffler
umständlich.

Gruß

Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige