Excel erkennt automatisch, wenn der Anwender eine Zelle verändert. So können alle oder bestimmte Zellen beliebig per VBA überwacht werden. Das folgende Makro wird beispielsweise ausgeführt, wenn in der Zelle A1 bzw. C1 Änderungen vorgenommen werden. Mit der Abfrage des Target-Befehls können
einzelne Zell-Adressen einfach überprüft werden. Sollen hingegen mehrere Zellen oder ganze Zellbereiche überwacht werden, so ist das unten stehende Beispiel (Lösung 2) mit dem Befehl Intersect die bessere Lösung. Lösung 2: Überwachung von Zellbereichen mit Hilfe des Befehls Intersect: Mit diesem Makro ist es also möglich, den Bereich auf mehrere Zellen
auszuweiten. Im oben stehende Makro wird die Aktion ausgeführt, wenn Änderungen in den Zellen A1, A2 oder A3 vorgenommen werden. Die beiden Makros müssen in dem betreffenden Tabellenblatt eingefügt werden. Nicht in einem Modul. Drucken
E-Mail ÜberblickUm zu prüfen, ob eine Zelle einen bestimmten Text oder eine Zahl enthält, benötigen wir folgende Funktionen SUCHEN, ISTZAHL und WENN. Wenn die Groß- und Kleinschreibung geachtet werden soll, nutzen wir FINDEN anstatt SUCHEN. Formel
Funktionsweise der FormelHier wird geschaut ob das Wort "Suchkriterium" in der Zelle A1 auftaucht. Das Suchkriterium kann ein Wort, ein Text, eine Zahl oder eine andere beliebige Kombination von Zeichen sein. 1) SUCHEN("Kriterium";A1) prüft an welcher Stelle sich "Suchkriterium" in der Zelle A1 befindet. Wir bekommen entweder die Position als Zahl oder wenn es keinen Treffer gab den #WERT! Fehler zurück. 2) Mit ISTZAHL wandeln wir das Ergebnis in WAHR oder FALSCH um. Zahl = WAHR, #WERT! = FALSCH 3) Diesen Wahrheitswert verbauen wir dann in unserer WENN-Funktion. Alternative mit Berücksichtigung von Groß- und KLeinschreibung=WENN(ISTZAHL(FINDEN("Kriterium";A1));"ja";"nein") Mehrere Kriterien
1) SUCHEN können wir auch mit mehreren Kriterien füttern. Entweder schreiben wir diese mit einer geschweiften Klammer als Array direkt in die Formel oder verweisen auf einen Zellbereich. 2) ANZAHL(SUCHEN({"Kriterium1";"Kriterium2"} 3) ANZAHL(SUCHEN({"Kriterium1";"Kriterium2"};A1))>0 3b) 3) ANZAHL(SUCHEN({"Kriterium1";"Kriterium2"};A1))=2 Anzahl wie viele Kriterien gefunden wurden ausgeben
1) Hier suchen wir nach 3 Kriterien und bekommen die Anzahl der Treffer zurück. 2) Diese Trefferanzahl verbauen wir dann im Ergebnistext. Anzahl wie viele Kriterien gefunden wurden ausgeben - Kurzschreibweise
1) Hier nutzen wir LET um doppelte Formelbestandteile zu vermeiden. Dies hat den Vorteil, dass wir die Kriterien nur an einer Stelle anpassen müssen. Praxisbeispiel ÜbereinstimmungsgradIn diesem Beispiel weisen wir der Trefferanzahl einen bestimmten Text zu:
1) SUCHEN(Kriterien;A1) 2) LET(Trefferanzahl;ANZAHL(SUCHEN(Kriterien;A1));... 3) WENN(Trefferanzahl>0;... 4) WAHL(Trefferanzahl;"niedrige";"mittlere";"hohe") 5) Wenn die Trefferanzahl gleich null ist geben wir am Ende der WENN-Funktion noch "keine Übereinstimmung" aus. |