Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Funktionsaufruf ohne Rückgabewert

Forumthread: VBA Funktionsaufruf ohne Rückgabewert

VBA Funktionsaufruf ohne Rückgabewert
20.07.2006 11:32:55
alexander
Hallo die Damen und Herren!
Ist es möglich, eine Funktion zu erstellen
public

Function f1()
End Function

und diese dann aufzurufen, OHNE das auf die Annahme eines Rückgabewertes bestanden wird?
f1() 'aufrufen geht nicht
c = f1() geht schon.
oder sollte ich dann aus der

Function einfach eine 

Sub machen?

		
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Funktionsaufruf ohne Rückgabewert
20.07.2006 11:52:57
Heiko
Hallo Alexander,
lass die Klammern weg !!!

Sub test()
BlaBla
End Sub


Function BlaBla()
MsgBox "BlaBla"
End Function

Gruß Heiko
PS: Rückmeldung wäre nett !
AW: VBA Funktionsaufruf ohne Rückgabewert
20.07.2006 13:23:05
alexander
Lass die Klammern weg? Ich brauch aber Klammern für die Parameterübergabe.
Anzeige
AW: VBA Funktionsaufruf ohne Rückgabewert
20.07.2006 13:40:45
Heiko
Hallo Alexander,
entschuldige das ich geantwortet habe, bei meinen beschränkten Excel VBA Kenntnissen und ohne vorher in meine Glaskugel zu gucken was du vorhast.
Aber aus meiner bescheidenen Sicht und bei deinem 1. Beispiel kann man die Klammern weglassen. (Übrigens auch bei Parameterübergabe).

Sub test()
BlaBla "Hallo Alex wozu die Klammer ?!"
End Sub


Function BlaBla(strText As String)
MsgBox strText
End Function

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: VBA Funktionsaufruf ohne Rückgabewert
20.07.2006 18:36:55
Gerd
Hi,
wozu ein Function, wenn du keinen Rückgabewert brauchst? Das ist ein Job für eine Sub.
mfg Gerd
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

VBA Funktionsaufruf ohne Rückgabewert


Schritt-für-Schritt-Anleitung

Um eine VBA-Funktion ohne Rückgabewert zu erstellen, gehst du wie folgt vor:

  1. Öffne den VBA-Editor in Excel (drücke ALT + F11).
  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (dein Arbeitsblatt)" klickst und "Modul einfügen" wählst.
  3. Definiere eine Subroutine oder eine Funktion. Für eine Funktion ohne Rückgabewert kannst du eine Subroutine verwenden.

Hier ein Beispiel für eine Subroutine:

Sub MeineSub()
    MsgBox "Dies ist ein Funktionsaufruf ohne Rückgabewert"
End Sub

Um diese Subroutine aufzurufen, benötigst du keine Klammern:

Call MeineSub

Wenn du Parameter verwenden möchtest, kannst du dies ebenfalls tun. Achte darauf, dass du die Klammern weglässt, wenn du nur die Sub aufrufst.


Häufige Fehler und Lösungen

  • Fehler: "Funktion kann nicht aufgerufen werden."

    • Lösung: Stelle sicher, dass du die Funktion oder Subroutine ohne Klammern aufrufst, es sei denn, du übergibst Parameter.
  • Fehler: "Typkonflikt".

    • Lösung: Überprüfe, ob die Datentypen der übergebenen Parameter korrekt sind.

Alternative Methoden

Wenn du Access Funktionen erstellen möchtest, kannst du ähnlich vorgehen. In Access werden jedoch häufig Abfragen verwendet, um Daten zu verarbeiten. Hier ist ein Beispiel für eine Subroutine in Access:

Sub AccessSub()
    MsgBox "Diese Subroutine läuft in Access"
End Sub

Du kannst die gleichen Prinzipien wie in Excel anwenden, um eine Excel VBA Funktion aufzurufen oder eine VBA Funktion aufzurufen.


Praktische Beispiele

  1. Sub mit Parameterübergabe:
Sub Begrueßung(Name As String)
    MsgBox "Hallo " & Name
End Sub

Sub Test()
    Call Begrueßung("Alex")
End Sub
  1. Funktion mit Rückgabewert (zum Vergleich):
Function Addiere(A As Double, B As Double) As Double
    Addiere = A + B
End Function

Sub TestAddiere()
    Dim Ergebnis As Double
    Ergebnis = Addiere(5, 10)
    MsgBox Ergebnis
End Sub

Tipps für Profis

  • Verwende Subroutinen für Aufgaben, die keine Werte zurückgeben müssen.
  • Überlege, ob eine VBA-Funktion aufrufen mit Parameter für deine Zwecke sinnvoll ist, um mehr Flexibilität zu haben.
  • Halte deine Code-Module organisiert, indem du verwandte Funktionen und Subroutinen in einem Modul zusammenfasst.

FAQ: Häufige Fragen

1. Kann ich eine Funktion ohne Rückgabewert in VBA verwenden?
Ja, du kannst eine Funktion erstellen, die keinen Rückgabewert hat, indem du sie als Sub definierst.

2. Wie übergebe ich Parameter an eine Subroutine?
Du kannst Parameter an eine Subroutine übergeben, indem du sie in den Klammern der Subroutine definierst und beim Aufruf die entsprechenden Argumente angibst.

3. Gibt es einen Unterschied zwischen Sub und Funktion?
Ja, eine Sub führt einen bestimmten Code aus, gibt aber keinen Wert zurück, während eine Funktion einen Wert zurückgeben kann.

Mit diesen Informationen solltest du in der Lage sein, eine VBA Funktion ohne Rückgabewert effektiv zu erstellen und zu verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige