Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
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
Inhaltsverzeichnis

Variablen bei Funktionsaufruf lokal?

Variablen bei Funktionsaufruf lokal?
24.01.2017 10:49:25
Ulfert
Moin,
ich habe eine Frage zu den Funktionsaufrufen.
Wenn ich
Function IsBool(InputString as String) as boolean
End Function

definiere,
wird dann "InputString" nur lokal innerhalb dieser Funktion verwendet?
Gibt es eine Dokumentation, wie die Speicherallokation/Zeigerverwaltung bei VBA funktioniert?
Hintergrund: ich habe einige Funktionen, die den Bezeichner "InputString" besitzen.
Ist das zulässig?
Viele Grüße, Ulfert

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablen bei Funktionsaufruf lokal?
24.01.2017 11:05:52
ChrisL
Hi Ulfert
wird dann "InputString" nur lokal innerhalb dieser Funktion verwendet?
Ja nur lokal. Du kannst den Wert natürlich einer anderen globalen Variable übergeben.
Gibt es eine Dokumentation, wie die Speicherallokation/Zeigerverwaltung bei VBA funktioniert?
Gibt es sicher, muss man nur Googeln :)
Aber ohne spezielle Deklaration sind die Variablen grundsätzlich immer lokal. Objektvariablen werden nach Ablauf der Prozedur meist manuell "entleert" (warum weiss ich auch nicht genau).
Hintergrund: ich habe einige Funktionen, die den Bezeichner "InputString" besitzen.
Ist das zulässig?

Kann man testen, ich tippe "nein". Eine Funktion und eine Variable gleich zu benennen ist sowieso ungeschickt.
Ich vermute du willst zwei Funktionen verschachteln, was geht (ob sinnvoll oder nicht hängt vom Zusammenhang ab). Beispiel:
Sub test()
MsgBox IsBool(TestFunk1(1))
End Sub

Private Function TestFunk1(i As Integer) As String
If i = 1 Then
TestFunk1 = "A"
Else
TestFunk1 = "B"
End If
End Function

Private Function IsBool(InputString As String) As Boolean
If InputString = "A" Then IsBool = True
End Function

cu
Chris
Anzeige
AW: Variablen bei Funktionsaufruf lokal?
24.01.2017 12:58:50
Ulfert
Hi Chris,
und Dank für die Antwort. Ich hatte mich vertippt. Ich habe einige Funktionen, die "InputString" als Aufrufvariable übergeben bekommen. Davon ist eine Function als Public gekennzeichnet.
In dem Thread hatte ich das Problem, dass sich der Aufruf inkonsistent verhielt:
https://www.herber.de/cgi-bin/callthread.pl?index=1535234
Nachdem ich die Function mit neuem Namen und Variablenbezeichnern aufgebaut habe, funktioniert es.
Daher meine Frage nach der reinen lokalen Verwendung.
Viele Grüße, Ulfert
Anzeige
AW: Variablen bei Funktionsaufruf lokal?
24.01.2017 13:57:30
ChrisL
Hi Ulfert
Ich verstehe leider nur Bahnhof.
cu
Chris
(ein) Fehler gefunden :)
24.01.2017 19:18:05
ChrisL
Hi Ulfert
Tadaaa...
Seperator
Separator
cu
Chris
PS: Schau dir "Option Explicit" an
AW: (ein) Fehler gefunden :)
25.01.2017 08:11:26
Ulfert
*abduck*
Danke!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige