ich möchte per VBA von einer Zahl die Fakultät berechnen. Welche Syntax muss ich hierfür benutzen?
Also z.B. Wert = Fakultät(Zahl)
Für einen Tipp wäre ich sehr dankbar.
Gruß,
Ptonka
Sub t()
Dim zahl
zahl = 5
MsgBox Application.WorksheetFunction.Fact(zahl)
End Sub
Function Factorial(iNumber As Integer) As Double
Select Case iNumber
Case 2 To 170
Factorial = iNumber * Factorial(iNumber - 1)
Case 0, 1
Factorial = 1
Case Else
Factorial = Null
End Select
End Function
Öffne Excel und drücke ALT
+ F11
, um den VBA-Editor zu starten.
Klicke auf Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
Füge den folgenden Code in das Modul ein, um die Fakultät mit der WorksheetFunction
zu berechnen:
Sub t()
Dim zahl As Integer
zahl = 5
MsgBox Application.WorksheetFunction.Fact(zahl)
End Sub
Um eine benutzerdefinierte Funktion zu erstellen, die auch größere Zahlen berechnen kann, nutze folgenden Code:
Function Factorial(iNumber As Integer) As Double
Select Case iNumber
Case 2 To 170
Factorial = iNumber * Factorial(iNumber - 1)
Case 0, 1
Factorial = 1
Case Else
Factorial = Null
End Select
End Function
Schließe den VBA-Editor und gehe zurück zu Excel. Du kannst jetzt die Funktion =Factorial(Zahl)
in einer Zelle verwenden.
Fehler: "Typ nicht korrekt"
Lösung: Stelle sicher, dass die Eingabewerte vom Typ Integer
sind. Verwende für größere Zahlen Long
, um Überläufe zu vermeiden.
Fehler: "Berechnung nicht möglich"
Lösung: Die Fakultät ist nur bis 170 berechenbar mit der eingebauten WorksheetFunction
. Für größere Werte musst du eine eigene Funktion programmieren.
Wenn du keine VBA-Programmierung nutzen möchtest, kannst du die Fakultät auch direkt in Excel berechnen:
=FACT(Zahl)
, um die Fakultät einer Zahl in einer Zelle zu berechnen.FACTDOUBLE
-Funktion verwenden, die die Fakultät von geraden oder ungeraden Zahlen berechnet.Fakultät von 5 berechnen:
In einer Zelle schreibst du =FACT(5)
, was 120 zurückgibt.
Fakultät mit benutzerdefinierter Funktion:
Verwende =Factorial(6)
, um 720 zu erhalten.
Berechnung mehrerer Fakultäten:
Erstelle eine Liste von Zahlen in Spalte A und nutze in Spalte B die Formel =FACT(A1)
, um die Fakultäten zu berechnen.
Factorial
erweitern, um auch negative Eingaben zu behandeln.MsgBox
in VBA nützlich ist, um schnell Ergebnisse anzuzeigen, jedoch nicht für große Datenmengen geeignet ist.1. Wie kann ich die Fakultät für große Zahlen berechnen?
Für Zahlen über 170 solltest du eigene Berechnungsmethoden in Betracht ziehen, da die Standardfunktionen dies nicht unterstützen.
2. Gibt es eine eingebaute Excel-Funktion für Fakultäten?
Ja, die FACT
-Funktion in Excel erlaubt dir, die Fakultät einer Zahl direkt zu berechnen, ohne VBA verwenden zu müssen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen