Rückgabewert bei Methoden/Funktionen

Bild

Betrifft: Rückgabewert bei Methoden/Funktionen
von: Firat Caparogullari
Geschrieben am: 15.03.2005 11:58:41
Hallo zusammen,
habe eine generelle Frage:
Wie sieht es aus wenn ich Funktionen oder Methoden vom Hauptprogramm abkapseln will und von diesen einen Rückgabewert erhalte!?
Ich kenn bisher nur Methoden, die keinen Rückgabewert haben (z. B. Sortieralgorithmus), dann sehe es in meinem Quellcode so aus:


Sub Hauptprogramm ()
...
 Call Sortieren
...
End Sub


Sub Sortieren ()
...
End Sub

Wie sieht es denn aus wenn ich einen Rückgabewert habe? Gibt es eine return-funktion? Habe es eben mit folgender Darstellung probiert, hat aber nicht geklappt:

Sub Hauptprogramm ()
...
 abc = Nebenprogramm(Wert) 'Übergebe dem Nebenprogramm einen Wert zum berechnen.
...
End Sub


Sub Nebenprogramm (wert)
...
End Sub

und was macht es für ein Unterschied, wenn ich

Sub oder 

Function nehme!?
DAnke...
Bild

Betrifft: AW: Rückgabewert bei Methoden/Funktionen
von: Bert
Geschrieben am: 15.03.2005 12:04:57
Die Function liefert einen Rückgabewert, die Sub nicht.
Bert
Bild

Betrifft: AW: Rückgabewert bei Methoden/Funktionen
von: Firat Caparogullari
Geschrieben am: 15.03.2005 12:06:49
und gibt es bei der funktion ein "return" oder sowas?!
wie kann ich denn vom Hauptprogramm auf den Rückgabewert zugreifen!?
abc = funktion() !? oder?
Bild

Betrifft: AW: Rückgabewert bei Methoden/Funktionen
von: Domke, Frank
Geschrieben am: 15.03.2005 12:08:06
Hallo Firat,
dafür gibt es Funktionen!

Function Summe(lngA as Long, lngB as Long) as long
   Summe = lngA + lngB
End Function

Test:
lngC = Summe(13,14)
Der Wert wird zurückgegeben, indem er dem Funktionsnamen zugewiesen wird.
Viel Spaß
Frank.
Bild

Betrifft: AW: Rückgabewert bei Methoden/Funktionen
von: Bert
Geschrieben am: 15.03.2005 12:15:56
Aber besser keine Namen verwenden, die von Excel verwendet werden.
Bert
Bild

Betrifft: AW: Rückgabewert bei Methoden/Funktionen
von: Firat Caparogullari
Geschrieben am: 15.03.2005 13:31:49
Also, ich habe grad was versucht aber es klappt nicht ganz...

Sub Hauptprogramm ()
dim name as String
dim dateiname as String
name = Namefiltern(dateiname)
...
End Sub


Function Namefiltern (datei as String)
    For Zaehler = Len(datei) To 1 Step -1 '
        If Mid(datei, Zaehler, 1) = "\" Then
            datei = Mid(datei, (Zaehler + 1), (Len(datei) - Zaehler))
            Exit For
        End If
    Next Zaehler
End Function

Also es speichert nicht den Wert, den die Funktion übermittelt in "name". Ich kann erkennen, dass im Hauptprogramm der Rückgabewert (beim Debuggen) in dem Funktionsnamen steht.
Wo liegt der Fehler?
Bild

Betrifft: AW: Rückgabewert bei Methoden/Funktionen
von: Bert
Geschrieben am: 15.03.2005 14:28:58
Option Explicit
Function Namefiltern(datei As String)
    For Zaehler = Len(datei) To 1 Step -1 '
        If Mid(datei, Zaehler, 1) = "\" Then
            Namefiltern = Mid(datei, (Zaehler + 1), (Len(datei) - Zaehler))
            Exit For
        End If
    Next Zaehler
End Function

Gruß Bert
 Bild

Beiträge aus den Excel-Beispielen zum Thema "kopieren"