In Microsoft Excel eine benutzerdefinierte Funktion erstellen

PDF herunterladenPDF herunterladen

Auch wenn Excel eine Menge, wahrscheinlich Hunderte, integrierter Funktionen wie SUM, VLOOKUP, LEFT usw. hat, wirst du oft feststellen, dass du eine Funktion brauchst, die es nicht gibt, wenn du Excel für kompliziertere Aufgaben nutzt. Mache dir keine Sorgen, du bist nicht verloren, du musst einfach selbst eine Funktion erstellen.

Vorgehensweise

PDF herunterladen
  1. How.com.vn Deutsch: Step 1 Erstelle ein neues...
    Erstelle ein neues Tabellenblatt oder öffne ein bestehendes, in welchem du deine neu erstellte benutzerdefinierte Funktion nutzen willst.
  2. How.com.vn Deutsch: Step 2 Öffne den  Visual Basic Editor
    , welcher in Microsoft Excel integriert ist, indem du auf Tools > Makro > Visual Basic Editor gehst oder die Tasten Alt + F11 drückst.
  3. How.com.vn Deutsch: Step 3 Füge deinem Arbeitsblatt ein neues Modul hinzu, indem du auf den angezeigten Button klickst.
    Du kannst eine benutzerdefinierte Funktion im Arbeitsblatt selbst erstellen, ohne ein neues Modul hinzuzufügen, aber dann kannst du die Funktion nicht in anderen Tabellenblättern nutzen.
  4. Step 4 Erstelle den "Header" oder "Prototypen" deiner Funktion.
    Er muss die folgende Struktur haben: public function "Name deiner Funktion" (param1 As type1, param2 As type2 ) As return Type. Er kann so viele Parameter haben, wie du willst, und der Typ kann einer der grundlegenden Daten- oder Objekttypen von Excel sein. Du kannst dir Parameter als die "Operanden" vorstellen, mit denen deine Funktion arbeitet. Wenn du z.B. SIN(45) angibst, um den Sinus eines 45 Gradwinkels zu berechnen, wird 45 als Parameter genommen. Der Code deiner Funktion wird dann diesen Wert nutzen, um etwas anderes zu berechnen, und das Ergebnis präsentieren.
  5. How.com.vn Deutsch: Step 5 Füge den Code...
    Füge den Code der Funktion hinzu und stelle sicher, dass du 1) die durch die Parameter bereitgestellten Werte verwendest, 2) das Ergebnis dem Namen der Funktion zuweist und 3) die Funktion mit "end function" schließt.In VBA oder einer anderen Sprache programmieren zu lernen kann etwas Zeit und eine detaillierte Anleitung brauchen. Funktionen haben jedoch kleine Code-Blöcke und nutzen nur sehr wenige Merkmale einer Sprache. Die nützlicheren Elemente von VBA sind:
    1. Der If-Block, mit welchem du einen Teil des Codes nur dann ausführen kannst, wenn eine Bedingung erfüllt ist. Beispiel:


      Public Function Course Result(grade As Integer) As String
        If grade >= 5 Then
          CourseResult = "Freigegeben"
        Else
          CourseResult = "Abgelehnt"
        End If
      End Function


      Beachte die Elemente in einem If-Code-Block: IF Bedingung THEN Code ELSE Code END IF. Das Schlüsselwort Else ist zusammen mit dem zweiten Teil des Codes optional.
    2. Der Do-Block, welcher einen Teil des Codes ausführt, während (WHILE) oder bis (UNTIL) eine Bedingung erfüllt wird. Beispiel:

      Public Function IsPrime(value As Integer) As Boolean
        Dim i As Integer
        i = 2
        IsPrime = True
        Do
          If value / i = Int(value / i) Then
            IsPrime = False
          End If
          i = i + 1
        Loop While i < value And IsPrime = True
      End Function


      Beachte auch hier die Elemente: DO Code LOOP WHILE/UNTIL Bedingung. Beachte auch die zweite Zeile, in welcher eine Variable "deklariert" wird. Du kannst deinem Code Variablen hinzufügen, damit du sie später nutzen kannst. Variablen fungieren als temporäre Werte im Code. Beachte schließlich die Deklaration der Funktion als BOOLEAN; dies ist ein Datentyp, der nur die Werte TRUE (wahr) und FALSE (falsch) erlaubt. Diese Methode der Bestimmung, ob eine Zahl eine Primzahl ist, ist bei Weitem nicht die optimale, aber wir haben sie so gelassen, damit der Code einfacher zu lesen ist.
    3. Der For-Block, welcher einen Teil des Codes eine bestimmte Anzahl von Malen ausführt. Beispiel:

      Public Function Factorial(value As Integer) As Long
        Dim result As Long
        Dim i As Integer
        If value = 0 Then
          result = 1
        ElseIf value = 1 Then
          result = 1
        Else
          result = 1
          For i = 1 To value
            result = result * i
          Next
        End If
        Factorial = result
      End Function


      Beachte wieder die Elemente: FOR Variable = untere Grenze TO obere Grenze Code NEXT. Beachte außerdem das hinzugefügte Element ElseIf im If-Statement, mit welchem du dem Code, der ausgeführt wird, weitere Optionen hinzufügen kannst. Beachte schließlich die Deklaration der Funktion und der Variable "result" als Long. Der Datentyp Long ermöglicht viel größere Werte als Integer.

      Unten ist der Code für eine Funktion zu sehen, die kleine Zahlen in Wörter umwandelt.
  6. How.com.vn Deutsch: Step 6 Gehe zurück in...
    Gehe zurück in dein Tabellenblatt und nutze die Funktion, indem du die Eingabe einer Zelle mit dem Gleichheitszeichen (=) gefolgt vom Namen deiner Funktion beginnst. Hänge eine sich öffnende Klammer, die mit Kommas getrennten Parameter und eine abschließende sich schließende Klammer an. Beispiel:

    =NumberToLetters(A4)

    Du kannst die benutzerdefinierte Formel auch nutzen, indem du in der Kategorie "Benutzerdefiniert" im Assistenten zum Einfügen von Formeln nach ihr suchst. Klicke einfach auf den Fx Button links neben der Formelleiste.Diese Parameter können drei Typen haben:
    1. Konstante Werte, die direkt in die Formel in der Zelle eingetippt werden. Zeichenketten müssen in diesem Fall in Anführungszeichen gesetzt werden.
    2. Zellverweise wie B6 oder Verweise auf einen Bereich wie A1:C3 (der Parameter muss den Datentyp Range haben).
    3. Andere in der Funktion verschachtelte Funktionen (deine Funktion kann auch in andere Funktionen verschachtelt sein, z.B. =Factorial(MAX(D6:D8)).
  7. How.com.vn Deutsch: Step 7 Stelle sicher, dass...
    Stelle sicher, dass das Ergebnis OK ist, nachdem du die Funktion mehrere Male genutzt hast, um sicherzustellen, dass sie verschiedene Werte für die Parameter richtig handhabt.
    Werbeanzeige

Tipps

  • Wenn du einen Block mit Code in einer Kontrollstruktur wie If, For, Do etc. schreibst, stelle sicher, dass du den Block mit ein paar Leerzeichen oder einem Tab etwas einrückst (die Art der Einrückung bleibt dir überlassen). So ist dein Code einfacher zu verstehen und die Fehlersuche und Verbesserung des Codes wird viel einfacher.
  • Wenn du nicht weißt, wie du den Code für eine Funktion schreibst, lies Einfache Makros in Microsoft Excel schreiben.
  • Manchmal kann es sein, dass eine Funktion nicht alle Parameter benötigt, um ein Ergebnis zu berechnen. In diesem Fall kannst du das Schlüsselwort Optional vor dem Namen des Parameters im Header der Funktion verwenden. Du kannst die Funktion IsMissing(parameter_name) im Code verwenden, um zu bestimmen, ob dem Parameter ein Wert zugewiesen wurde oder nicht.
  • Verwende einen Namen, der nicht bereits als Name für eine Funktion in Excel definiert wurde, sonst kannst du nur eine der Funktionen nutzen.
  • Excel hat viele integrierte Funktionen und die meisten Berechnungen können mit deren Nutzung (entweder alleinstehend oder in Kombination) erledigt werden. Stelle sicher, dass du dir die Liste der verfügbaren Funktionen ansiehst, bevor du anfängst, deine eigene zu programmieren. Die Ausführung kann schneller sein, wenn du die integrierten Funktionen nutzt.
Werbeanzeige

Warnungen

  • Aufgrund von Sicherheitsmaßnahmen kann es sein, dass einige Leute Makros deaktivieren. Achte darauf, dass du deine Kollegen darüber informierst, dass die Tabelle, die du ihnen schickst, Makros enthält und dass sie diesen vertrauen können und ihre Computer keinen Schaden erleiden.
  • Die in diesem Artikel verwendeten Funktionen sind auf keinen Fall die beste Möglichkeit, die jeweiligen Probleme zu lösen. Sie wurden hier nur genutzt, um die Nutzung der Kontrollstrukturen der Sprache zu erklären.
  • VBA hat wie jede andere Sprache mehrere andere Kontrollstrukturen außer Do, If und For. Diese wurden hier nur erklärt, um klarzustellen, was im Quellcode einer Funktion gemacht werden kann. Es gibt viele Anleitungen im Internet, in denen du VBA lernen kannst.
Werbeanzeige

Über dieses How.com.vn

How.com.vn ist ein "wiki", was bedeutet, dass viele unserer Artikel von zahlreichen Mitverfassern geschrieben werden. An diesem Artikel arbeiteten bis jetzt 9 Leute, einige anonym, mit, um ihn immer wieder zu aktualisieren. Dieser Artikel wurde 17.001 Mal aufgerufen.
Kategorien: Computer
Diese Seite wurde bisher 17.001 mal abgerufen.

War dieser Artikel hilfreich?

⚠️ Disclaimer:

Content from Wiki How Deutsch language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

Werbeanzeige