Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

eigene funktionen aus einer zelle heraus aufrufen

Forumthread: eigene funktionen aus einer zelle heraus aufrufen

eigene funktionen aus einer zelle heraus aufrufen
10.05.2002 23:55:35
Anton S. Kass-Tanie
hallo community,

wie kriege ich es hin, daß ich aus einer zelle in einem worksheet parametrisiert eine funktion aufrufe?

die funktion ist super einfach und bereits geschrieben:

Function ergVglSieger(score1 As Integer, score2 As Integer)

 Dim sieger As Integer
 If score1 > score2 Then
  sieger = score1
 Else
  sieger = score2
 End If
 ergVglSieger = sieger

End Function

doch wie kann ich sie aus einer zelle heraus aufrufen und ihr als parameter die aktuellen werte anderer zellen mitgeben?

naiv, wie ich bin, hatte ich an so etwas wie
=ergVglSieger(A1;A2)
gedacht, was aber offensichtlich nicht funktioniert...

irgendwie fehlt mir der grundeinstieg...

wer kann helfen?

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: eigene funktionen aus einer zelle heraus aufrufen
11.05.2002 07:09:07
MRR
Wenn Du statt "As Integer" verwendest "As Range" sollte es gehen.
Matthias
Re: eigene funktionen aus einer zelle heraus aufrufen
15.05.2002 00:23:53
Anton S. Kass-Tanie
wenn ich nur die datentypen ändere, kriege ich nach wie vor im xl-sheet ein #NAME?

dies scheint mir darauf hinzudeuten, daß das xl-sheet die funktion einfach nicht kennt.

a) ist die funktion richtig programmiert?
b) muß man etwas in sachen konfiguration anstellen, damit das sheet die funktion auch kennt? (der aktuelle scope ist workbook)

---
tja, da sagt man immer vba sei was für programmieranfänger, aber es spielt dann doch anscheinend in einer ganz anderen kategorie wie z.b html...
---

völlig hilflos,
tony

Anzeige
;

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

Eigene Funktionen aus einer Zelle heraus aufrufen


Schritt-für-Schritt-Anleitung

Um eine Excel VBA Funktion in einer Zelle aufzurufen, befolge diese Schritte:

  1. Öffne den Visual Basic for Applications (VBA) Editor: Drücke ALT + F11 in Excel.

  2. Erstelle eine neue Modul: Klicke im Menü auf Einfügen und wähle Modul.

  3. Schreibe Deine Funktion: Füge den folgenden Code in das Modul ein:

    Function ergVglSieger(score1 As Integer, score2 As Integer) As Integer
       Dim sieger As Integer
       If score1 > score2 Then
           sieger = score1
       Else
           sieger = score2
       End If
       ergVglSieger = sieger
    End Function
  4. Speichern und Schließen: Speichere das Modul und schließe den VBA Editor.

  5. Funktion in Zelle aufrufen: Gehe zurück zu Excel und gebe in eine Zelle ein:

    =ergVglSieger(A1; A2)

    Stelle sicher, dass die Werte in A1 und A2 vorhanden sind.


Häufige Fehler und Lösungen

  • #NAME?-Fehler: Dieser Fehler tritt auf, wenn Excel die Funktion nicht erkennt. Überprüfe, ob Du die Funktion im richtigen Modul gespeichert hast und dass der Code korrekt geschrieben ist.
  • Datentypen: Wenn Du den Datentyp von As Integer auf As Range änderst, stelle sicher, dass Du die Werte korrekt aus den Zellen extrahierst:

    Function ergVglSieger(score1 As Range, score2 As Range) As Integer
       ergVglSieger = Application.WorksheetFunction.Max(score1.Value, score2.Value)
    End Function

Alternative Methoden

Wenn Du keine VBA-Funktion verwenden möchtest, kannst Du die MAX-Funktion in Excel nutzen:

=MAX(A1; A2)

Dies bietet eine einfache Möglichkeit, den höheren Wert ohne VBA zu ermitteln.


Praktische Beispiele

Hier sind einige Beispiele, wie Du die Funktion verwenden kannst:

  1. Zwei Werte vergleichen: Angenommen, Du hast die Werte 10 in A1 und 15 in A2, dann gibt =ergVglSieger(A1; A2) das Ergebnis 15 zurück.
  2. Dynamische Vergleichswerte: Du kannst die Werte in A1 und A2 ändern, und die Funktion wird automatisch den neuen Sieger ermitteln.

Tipps für Profis

  • Fehlerbehandlung einbauen: Es ist ratsam, in Deine VBA-Funktion eine Fehlerbehandlung einzubauen, um unerwartete Eingaben zu handhaben.

    Function ergVglSieger(score1 As Variant, score2 As Variant) As Variant
       On Error GoTo ErrorHandler
       ergVglSieger = IIf(score1 > score2, score1, score2)
       Exit Function
    ErrorHandler:
       ergVglSieger = "Fehler"
    End Function
  • Benutzerdefinierte Funktionen dokumentieren: Füge Kommentare zu Deiner Funktion hinzu, um deren Verwendung und Parameter zu erklären.


FAQ: Häufige Fragen

1. Kann ich meine VBA-Funktion in anderen Arbeitsmappen verwenden?
Ja, Du kannst die Funktion in anderen Arbeitsmappen verwenden, indem Du das Modul kopierst oder die Arbeitsmappe als Add-In speicherst.

2. Warum funktioniert meine Funktion nicht, wenn ich den Datentyp ändere?
Wenn Du den Datentyp änderst, musst Du sicherstellen, dass die Eingaben auch dem neuen Datentyp entsprechen. Bei Verwendung von As Range musst Du möglicherweise den Wert aus der Zelle extrahieren.

3. Welche Excel-Version benötige ich für VBA-Funktionen?
Die Verwendung von VBA ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016, 2019 und Excel 365.

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