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"