Excel VBA Wenn Zelle enthält, dann

Prüfen, ob eine Formel in einer bestimmten Zelle steht

1. Möglichkeit ohne VBA 

Um zu ermitteln, ob eine Formel in einer bestimmten Zelle steht, gibt es 2 Möglichkeiten.
Bei der ersten Möglichkeit wird dies ohne VBA festgestellt, also nur mit Bord-Mitteln.

Dazu gehen Sie wie folgt vor:

  1. Einfügen --> Name --> Definieren....
  2. Unter 'Namen in der Arbeitsmappe' geben Sie den gewünschten Namen ein, z. B. formel
  3. Unter bezieht sich auf erfassen Sie folgende Funktion:  =ZELLE.ZUORDNEN(48;!B1)+0*JETZT()
  4. Mit der Funktion =formel bekommen Sie nun eine 0 als Ergebnis, wenn sich keine Formeln in B1 befindet und eine 1 wenn sich eine Formeln in B1 befindet.
  5. Mit einer einfachen Wenn-Abfrage können Sie diese 1 bzw. 0 noch in verständlichen Text umwandeln: Die Funktion dazu lautet:  =WENN(formel=0;"W";"F")

Das war auch schon. Aufpassen müssen Sie nur mit dem Funktionsbestandteil, der hier B1 lautet.

Da diese Zelle als relative Zelle angegeben wurde, beziehen sich zukünftige Abfragen immer auf die Zelle rechts neben der abzufragenden. Möchten Sie bspw. die Zelle F1 abfragen, so müssen Sie die Abfrage in der Zelle E1 vornehmen, da immer die rechte Zelle abgefragt wird.
 


2. Möglichkeit mit VBA


Die zweite Möglichkeit um zu erfahren, ob in einer bestimmten Zelle eine Formel steht, ist die Abfrage per VBA.


Die nachfolgende Funktion prüft dies ab und gibt ein F zurück, wenn sich in der abgefragten Zelle eine Formel befindet und wenn nicht, wird ein W zurückgeliefert.

Public Function FORM(wert)
'Prüfen, ob sich in einer Zelle ein Wert oder
'eine Funktion (Formel) befindet
'Abfrage mit form(A1)
If wert.HasFormula = True Then
    FORM = "F"
Else
    FORM = "W"
End If
End Function


Möchten Sie z. B. prüfen, ob sich in der Zelle D7 ein Wert oder eine Funktion befindet dann tragen Sie in eine beliebige Zelle einfach die neue Funktion ein und verweisen auf die Zelle D7: =FORM(D7)

Drucken E-Mail

  • Zurück
  • Weiter

In diesem Tutorial zeigen wir Ihnen, wie Sie mit den Funktionen FINDEN und ISTZAHL in Excel und Google Sheets prüfen können, ob eine Zelle eine bestimmte Zahl enthält.

Excel VBA Wenn Zelle enthält, dann

Mit ISTZAHL und FINDEN prüfen, ob eine Zelle eine bestimmte Zahl enthält

Eine Zelle, die eine Mischung aus Buchstaben, Zahlen, Leerzeichen und/oder Symbolen enthält, wird in Excel als Textzelle gespeichert. Mit den Funktionen ISTZAHL und FINDEN können wir prüfen, ob eine dieser Zellen eine bestimmte Zahl enthält.

=ISTZAHL(FINDEN(9;B3))

Excel VBA Wenn Zelle enthält, dann

Schauen wir uns diese zweiteilige Formel an.

Die FINDEN-Funktion

Zunächst sucht die FINDEN-Funktion nach einem bestimmten Zeichen in einer Zeichenkette. Sie gibt dann die Position dieses Zeichens in der Zeichenkette zurück oder einen #WERT!-Fehler, wenn es nicht gefunden wird.

=FINDEN(9;B3)

Excel VBA Wenn Zelle enthält, dann

In diesem Beispiel gibt die FINDEN-Funktion die Position der „9“ in jeder Zelle zurück. Wie oben gezeigt, gibt sie für Zellen ohne die Zahl 9 einen #WERT!-Fehler zurück.

Hinweis: Sie können entweder die FINDEN- oder die SUCHEN-Funktion verwenden, um zu prüfen, ob eine Zelle eine bestimmte Zahl enthält. Beide Funktionen haben die gleiche Syntax und liefern bei numerischen Suchtexten das gleiche Ergebnis.

Die ISTZAHL-Funktion

Die ISTZAHL-Funktion tut das, was ihr Name schon sagt: Sie prüft, ob eine Zelle eine Zahl ist und gibt WAHR oder FALSCH zurück.

=ISTZAHL(C3)

Excel VBA Wenn Zelle enthält, dann

Die ISTZAHL-Funktion prüft das Ergebnis der FINDEN-Funktion und gibt WAHR für Zellen mit Positionsnummern und FALSCH für die Zelle mit einem #WERT!-Fehler zurück.

In diesem Tutorial zeigen wir Ihnen, wie Sie in Excel und Google Sheets prüfen können, ob eine Zelle in einem Bereich Text enthält.

Excel VBA Wenn Zelle enthält, dann

Prüfen, ob ein Bereich einen Text enthält

Um zu prüfen, ob eine Zelle in einem Bereich einen Text enthält, verwenden wir die Funktionen ISTTEXT und SUMMENPRODUKT.

Die ISTEXT-Funktion

Die ISTTEXT-Funktion tut genau das, was ihr Name besagt. Sie prüft, ob eine Zelleninhalt ein Text ist und gibt WAHR oder FALSCH aus.

=ISTTEXT(A2)

Excel VBA Wenn Zelle enthält, dann

Die SUMMENPRODUKT-Funktion

Die ISTTEXT-Funktion prüft nur eine einzelne Zelle. Daher müssen wir einen Weg finden, den gesamten Bereich zu prüfen. Hier kommt die SUMMENPRODUKT-Funktion ins Spiel. Die SUMMENPRODUKT-Funktion summiert Arrays von Werten zusammen. Wenn wir also jede Zelle einzeln prüfen und eine 1 (WAHR) oder 0 (FALSCH) ausgeben, wenn jede Zelle ein Text ist, dann können wir die Werte zusammenzählen. Wenn die Summe größer als 0 ist, wissen wir, dass mindestens eine Zelle Text enthält.

Hier ist zuerst die endgültige Berechnung:

=SUMMENPRODUKT(--ISTTEXT(A2:C2))>0

Excel VBA Wenn Zelle enthält, dann

Gehen wir es nun durch:

=SUMMENPRODUKT(--ISTTEXT(A2:C2))>0
=SUMMENPRODUKT(--{FALSCH; WAHR; WAHR})>0
=SUMMENPRODUKT({0; 1; 1})>0
=2>0
=WAHR

Hinweis: Das doppelte Minuszeichen wandelt WAHR/FALSCH in 1/0 um. Alternativ können Sie die ISTTEXT-Funktion auch mit *1 multiplizieren

=SUMMENPRODUKT(ISTTEXT(A2:C2)*1)>0

Excel VBA Wenn Zelle enthält, dann

Anstatt WAHR/FALSCH auszugeben, können Sie eine WENN-Anweisung verwenden, um anderen Text oder Berechnungen auszugeben: