Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1552to1556
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
Aufruf von Sub in Sub
19.04.2017 15:45:41
Sub
Hi,
irgendwie will mein Aufruf von einem Unterprogramm in einem Unterprogramm nicht klappen. Folgendes habe ich bisher probiert:
Sub Function1()
Call Function2(0815)
End Sub

Sub Function2(Value as Integer)
End Sub
Lasse ich die Argumente bei Function2 weg funktioniert der Aufruf mit Call Function2 und diese wird ausgeführt.
Habe es auch schon ohne Klammern versucht: Call Function2 0815 ...will alles nicht klappen.
Wo liegt mein Fehler? Danke vorab.

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

Betreff
Datum
Anwender
Anzeige
AW: Aufruf von Sub in Sub
19.04.2017 15:47:44
Sub
Wenn ich das Makro ausführen möchte kommt folgender Fehler:
Fehler beim Kompilieren:
Argumenttyp ByRef unverträglich
AW: Aufruf von Sub in Sub
19.04.2017 15:53:07
Sub
Hi Marc
Ohne zu testen... Value als Name für eine Variable ist schlecht, weil der Begriff Value Bestandteil vom VBA-Syntax ist.
N.b. eine Prozedur als Funktion zu bezeichnen ist zusätzlich verwirrend, weil Function ist nicht gleich Sub.
Und der Vollständigkeit halber erwähnt. Die Null in 0815 geht natürlich verloren, weil Typ Integer ist eine Zahl. Ansonsten müsstest du als String übergeben, aber das wäre auch ungewöhnlich.
cu
Chris
AW: Aufruf von Sub in Sub
19.04.2017 15:59:09
Sub
Hatte es quasi nur als Beispiel so angegeben. Weder heißen die Prozeduren Function noch das Argument Value...war nicht gerade glücklich von mir gewählt.
Fehler lag am Ende wo ganz anders. Das Argument war vom Typ Long und in der Sub hab ich es als Integer erwartet. Ändert man das auf Long geht auch alles wie erwartet.
Anzeige
AW: dann liegts an der byRef Einstellung
19.04.2017 16:03:38
Sheldon
Hallo Chris,
wenn Du Function2 so einleitest
Sub Function2(byVal Eingabe as Integer)
dann funktioniert es auch. Natürlich vorausgesetzt, dass der in der Long Integer enthaltene Wert klein genug ist, um ihn an eine Integer Variable zu übergeben!
Integer: -32.768 bis 32.767
Long Integer: -2.147.483.648 bis 2.147.483.647
Gruß
Sheldon
AW: Aufruf von Sub in Sub
19.04.2017 16:06:29
Sub
Hallo,
einen Sub Funktion zu nennen ist sinnbefreit...
Hier ein Beispiel für ByVal und ByRef...

Sub aufruf()
Dim i As Integer
Call function_mit_ByVal_Parameter(123)
Call function_mit_ByRef_Parameter(i)
MsgBox i
End Sub
Function function_mit_ByVal_Parameter(ByVal myNumber As Integer)
MsgBox myNumber
End Function
Function function_mit_ByRef_Parameter(ByRef myNumber As Integer)
myNumber = 123
End Function

Anzeige
AW: Dein Fehler im Forum,
19.04.2017 16:10:25
Gerd
Mike, war, hier Code zu zeigen, der mit deinem absolut nichts zu tun hat.
Das nächste mal bitte den vollständigen Orginalcode.
Gruß Gerd

32 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige