Excel bietet viele integrierte Tabellenfunktionen, die den Inhalt einer Zelle (eine Zahl, eine Textfolge, einen Fehlerwert usw.) überprüfen. Excel bietet jedoch keine Funktion, die überprüft, ob eine Zelle eine Formel enthält. Wenn die Zelle einen konstanten Wert enthält, liefern diese Informationsfunktionen den Typ des Wertes. Wenn die Zelle jedoch eine Formel enthält, liefern die Informationsfunktionen den Typ des berechneten Wertes der Formel.
Eine benutzerdefinierte Funktion, IsFormula()
Die folgende benutzerdefinierte Tabellenfunktion, IsFormula(), ist ähnlich wie die anderen integrierten IST-Funktionen in Excel. Wenn Sie diese Funktion in eine Zelle eingeben, ist das eine Argument, das von der Funktion akzeptiert wird, das Ref-Argument, ein Bezug auf eine einzelne Zelle oder einen Zellenbereich. Wenn Sie einen Bezug auf eine einzelne Zelle eingeben, liefert die Funktion den Wert WAHR, wenn die Zelle eine Formel enthält. Wenn die Zelle keine Formel enthält (sie entweder leer ist oder einen beliebigen Wert, z. B. eine Zahl oder ein Datum, enthält), liefert IsFormula() den Wert FALSCH.
Um zu überprüfen, ob eine Zelle oder ein Zellenbereich Formeln enthält, verwendet die benutzerdefinierte Funktion die Eigenschaft HasFormula des Bereichs, der an die Funktion übergeben wird. Die folgende Tabelle enthält eine Liste der möglichen Rückgabewerte für die Eigenschaft:
| Wert |
Bedeutung |
| WAHR |
Alle Zellen im Bereich enthalten Formeln. |
| FALSCH |
Keine der Zellen im Bereich enthält eine Formel. |
| NULL |
Einige (aber nicht alle) Zellen enthalten Formeln (z. B. enthält eine Zelle eine Formel, die restlichen Zellen im Bereich jedoch nicht). |
Nachdem die Eigenschaft drei unterschiedliche Ergebnisse liefern kann, verwendet die Funktion eine WENN-DANN-SONST-Bedingungsanweisung, um nur zwei mögliche Ergebnisse zu erzwingen: WAHR, wenn die Zelle eine Formel enthält oder ein Zellenbereich mindestens eine Formel enthält, und FALSCH, wenn die Zelle keine Formel enthält oder keine der Zellen im Bereich Formeln enthält.
Function IsFormula(ByVal Ref As Range) As Boolean
'Diese Funktion gibt FALSCH zurück, falls keine Zellen
'Formeln enthalten, bzw. WAHR, falls alle oder einige
'Zellen Formeln enthalten. Diese Funktion funktioniert
'nur mit Zellen in nebeneinander liegenden Bereichen.
If Ref.HasFormula = False Then
IsFormula = False
Else
IsFormula = True
EndIf
End Function
Wie verwende ich diese Funktion?
Diese Funktion hat folgende Form:
ISFORMULA(Ref)
wobei Ref ein Bezug auf eine Zelle oder einen Bereich von Zellen ist.
Wenn z. B. die Zelle A3 die Formel =SUMME(A1:A2) enthält, dann ist
=ISFORMULA(A3)
gleich WAHR.
Weitere Informationen über benutzerdefinierte Funktionen in Excel erhalten Sie unter Erstellen eigener Tabellenfunktionen in Excel 2000 sowie in der Excel-Hilfe. Wenn Sie keine Kenntnisse über die Programmierung in Microsoft Visual Basic® für Applikationen haben, finden Sie im Microsoft Office 2000/Visual Basic Programmierhandbuch eine Einstiegshilfe. Weitere Informationen darüber, wie Sie dieses Handbuch beziehen, erhalten Sie in der Excel-Hilfe.