Anzeige
Archiv - Navigation
856to860
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
856to860
856to860
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Anfänger Frage: Sub ohne Rückgabewert?

Anfänger Frage: Sub ohne Rückgabewert?
26.03.2007 21:08:23
Thomas

Huhu
Ich hab mal ne Grundsätzliche frage: Wiso meckert der Compiler, wenn ich einfach nur eine
Sub ausführen möchte, ohne einen Rückgabewert? Bzw. wie stelle ich das gemecker ab :D


Sub test()
'wird rot dargestellt und Compiler meldet:     Fehler beim Kombilieren: erwartet: "="
 Textausgeben()
End Sub
Sub Textausgeben()
MsgBox ("Hallo Welt")
End Sub
Beim Suchen nach der Lösung bin ich drauf gestossen, dass es auch noch Function (anstelle von Sub) gibt. Was ist der Unterschied zwischen Sub und Function? Wann verwendet man was? (Falls dies kurz erklärt werden kann ;) Ansonsten verwend ich halt weiterhin nur subs solange es funktioniert :) )
Besten Dank im Voraus!
Gruss Xyen

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anfänger Frage: Sub ohne Rückgabewert?
26.03.2007 21:09:23
Thomas
sorry war Doppelpost :(
AW: Anfänger Frage: Sub ohne Rückgabewert?
26.03.2007 21:11:44
schauan
Hallo Xyen,
das ist genau der Punkt. Ein Sub ist ein Makro welches ohne Klammern aufgerufen wird und eine Function wird mit Klammern aufgerufen. Beide Formen können Übergabeparameter enthalten. nur dass was bei einer Function rauskommt muss irgendeiner Variable oder MsgBox oder Zelle oder was auch immer zugewiesen werden.
Hoffe geholfen zu habenGrüße von André aus Gera - Excel-97-2003

Anzeige
AW: Anfänger Frage: Sub ohne Rückgabewert?
26.03.2007 21:27:09
Thomas
Achso genial danke vielmal :)
Also hab ich das richtig verstanden, dann müssen auch beim Aufrufen einer Sub
mit Parametern nie Klammern verwendet werden?
z.B:

Sub test()
Textausgeben "Hallo Welt"
End Sub

Sub Textausgeben(strText As String)
MsgBox (strText)
End Sub

AW: Anfänger Frage: Sub ohne Rückgabewert?
26.03.2007 22:43:58
Daniel
Hallo
es hängt alles davon ab, wie du das Makro aufrufst, und ob Parameter übergeben werden oder nicht.
Wenn keine Parameter übergeben werden, dürfen auch keine Klammern verwendet werden, auch kein leeres Klammernpaar().
Wird ein Parameter übergeben und das Makro wird direkt aufgerufen (ohne CALL davor), dann kann man den Parameter in Klammern setzten, muß aber nicht.
Wird ein Parameter übergeben und das Makro mit CALL aufgerufen, dann muß der Parameter in Klammern stehen.
Bei Aufruf mit CALL ohne Parameterübergabe dürfen wiederum keine Klammern stehen
Beispiel:

Sub test()
Textausgeben ("Hallo Welt")
Textausgeben "Hallo Mond"
Textausgeben2
Call Textausgeben("Hallo Mars")
Call Textausgeben2
End Sub

Sub Textausgeben(strText As String)
MsgBox (strText)
End Sub


Sub Textausgeben2()
MsgBox "Hallo Sonne"
End Sub

Gruß, Daniel
ps ich halte den Aufruf mit CALL für empfehlenswert, weil man dann gleich sieht, ob der Befehl eine selbstgeschriebene Prozedur oder ein VBA-Befehl ist.
Anzeige

232 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige