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

Variable von einer Sub zur andern übertragen

Variable von einer Sub zur andern übertragen
09.10.2002 13:25:58
Stoneguard (Armin Steiner)
Ich arbeite mit lokalen Variablen. Ich möchte jedoch nun eine Variable in eine Subroutine mitnehmen, die durch jene aufgerufen wird, woher die Variable stammt.

wie ann ich das realisieren? muss ich beim aufrufen der neuen subroutine irgendwie definieren, dass die variable xy mitgenommen werden soll?

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Variable von einer Sub zur andern übertragen
09.10.2002 13:36:28
Volker Croll
Hallo Armin,

dafuer brauchts Du eine Public-Variable; wird oberhalb des Makros definiert, z.B:

Public DeineVariable_XY As String
-------------------------------------
Sub DeinMakro ()

'hier Dein Code

End Sub

Der Inhalt einer Public-Variablen steht zur Verfuegung, solange die Datei geoeffnet ist.

Gruss Volker

Re: Variable von einer Sub zur andern übertragen
09.10.2002 13:37:06
MAlexander
Moin.

Das ist das Prinzip:

Sub Test1()
Dim VariableZumBearbeiten as String
VariableZumBearbeiten = "Dieser Wert soll gelöscht werden"
Test2 VariableZumBearbeiten
MsgBox VariableZumBearbeiten
End Sub

Sub Test2(ÜbernommeneVariable as String)

ÜbernommeneVariable = ""

End Sub

MAlexander

Anzeige
Nachtrag
09.10.2002 13:39:38
MAlexander
Publics sind nicht ungefährlich, wegen möglicher Seiteneffekte;
und warum auch, wenn's sicherer geht.

MAlexander

Schade
09.10.2002 13:41:45
Stoneguard(Armin Steiner)
dies wollte ich eigentlich vermeiden.. :-)

beim turbo pascal beispielsweise konnte man dies tun, wenn man bei de sub hinten in klammer die variable mitliefert, aber dies scheint hier wohl nicht zu gehen....

schade, aber trotzdem danke

Re: Nachtrag
09.10.2002 13:45:21
Armin Steiner
Danke
Re: Schade
09.10.2002 13:47:04
MAlexander
... eben, wie bei VBA auch

MAlexander

Re: Nachtrag
09.10.2002 13:48:36
Ralf Sögel
byref ist auch nicht ganz ungefährlich, dann schon besser byval
2 oder mehrere variablen?
09.10.2002 13:49:03
Armin Steiner
Nochmals Danke, aber wie kann ich 2 variablen oder mehrere Übermitteln?
Re: 2 oder mehrere variablen?
09.10.2002 13:55:27
Armin Steiner
habs rausbekommen... komma zwischen de klammern und nicht nur eine klammer....
Anzeige
"Seiteneffekte" ? Bitte Aufklaerung ...
09.10.2002 13:57:18
Volker Croll
Hallo MAlexander,

was meinst Du mit "Seiteneffekte"? Hatte bisher keine Probleme mit Publics.

Gruss Volker

Re: "Seiteneffekte" ? Bitte Aufklaerung ...
09.10.2002 14:06:28
MAlexander
Seiteneffekte sind ungewollte Nebeneffekte.

Diese müssen ja auch nicht unbedingt auftreten.
Beispiel:
Global Betrag as Currency
Verwendet man jetzt häufig "Betrag" für bspw. verschiedene Währungen, dann kann es ja durchaus vorkommen, daß eine Routine x "Betrag" verwendet, ohne diesen vorher zu initialisieren also munter mit dem alten Wert weiter rechnet (was logischerweise ein Programmierfehler ist !).
Bei Global ist es deshalb nicht immer einfach zu entscheiden und festzustellen, wo ein Resultat eigentlich herkommt.

Deshalb vermeide ich Globals so weit wie möglich.

MAlexander

Anzeige
Re: 2 oder mehrere variablen?
09.10.2002 14:11:05
MAlexander
Auf die gleiche Weise:

test2 Par1, Par2, Par3, Par4

für

sub test2´(Par1 as string,Par2 as currency, Par3 as double, Par4 as date)

Du kannst auch optionale Parameter angeben (auch mit Default-Werten).

Du kannst aber auch was ganz anderes machen, was die Felexibilität ganz enorm erhöht:

ParamArray

Für Dir mal die VBA-Hilfe zu gemüte, da gibt es zig Beispiele.

MAlexander

So gesehen, ja ...
09.10.2002 14:14:14
Volker Croll
Hallo MAlexander,

wenn Du mit "Seiteneffekte" meinst, dass evtl. die Fehlersuche nach eigenen Programierfehlern schwieriger wird, dann o.k. Aber ansonsten kann man mit Publics manchen Code auch straffen und sogar einen Tick beschleunigen.

Danke, Volker

Anzeige
Re: Nachtrag
09.10.2002 14:15:41
MAlexander
ABER GANZ SICHER !!!
Was ich damit (ByRef) schon für Böcke geschossen habe, paßt auf keine Kuhhaut.

MAlexander

Re: So gesehen, ja ...
09.10.2002 14:19:48
MAlexander
ÜBERHAUPT keine Frage und wenn es keine Publics geben würde, währen manche Probleme nur sehr umständlich zu lösen.
Insbesondere sehe ich hier wesentliche Erleichterungen bei den Public Const.

MAlexander

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige