Wäre es nicht schön, wenn man in einer Tabelle auf eine Zelle klickt und die Zeile sowie die Spalte werden farblich hervorgehoben, während die angeklickte Zelle weiß bleibt? In einem anderen BLOG-Beitrag habe ich das schon einmal vorgestellt, dort liegt allerdings eine andere Technik zugrunde, die wir auch so im Seminar Dashboards mit Excel erstellen zeigen. Hier zeige ich eine Art Benutzerführung 2.0.
Was wird dazu benötigt?
- Bedingte Formatierung
- Funktionen ODER(), ZEILE();ZELLE();UND();SPALTE()
- VBA Private Sub mit Target.Calculate
Bedingte Formatierung
Bedingung1:
=ODER(ZEILE()=ZELLE(„ZEILE“);SPALTE()=ZELLE(„SPALTE“))
Hier wird überprüft, ob die Zeilennummer der aktuellen Zelle mit der Zeilennummer der referenzierten Zelle übereinstimmt ODER ob die Spaltennummer der aktuellen Zelle mit der Spaltennummer der referenzierten Zelle übereinstimmt. Falls ja, wird die Zelle gelb formatiert.
Bedingung 2: =UND(SPALTE()=ZELLE(„SPALTE“);ZEILE()=ZELLE(„ZEILE“))
Hier wird überprüft, ob die Spaltennummer der aktuellen Zelle mit der Spaltennummer der referenzierten Zelle übereinstimmt UND ob die Zeilennummer der aktuellen Zelle mit der Zeilennummer der referenzierten Zelle übereinstimmt. Falls ja, wird die Zelle weiß formatiert.
Funktionen
ZEILE() gibt die Zeilennummer der aktuellen Zelle zurück.
SPALTE() gibt die Spaltennummer der aktuellen Zelle zurück.
ZELLE(„ZEILE“) gibt die Zeilennummer der Zelle zurück, auf die in der ZELLE-Funktion Bezug genommen wird.
ZELLE(„SPALTE“) gibt die Spaltennummer der Zelle zurück, auf die in der ZELLE-Funktion Bezug genommen wird.
ODER() gibt WAHR zurück, wenn mindestens eine der Bedingungen wahr ist.
UND() gibt WAHR zurück, wenn alle Bedingungen wahr sind.
VBA
In VBA (Visual Basic for Applications) steht Private Sub
für „Private Subroutine“ oder „Private Procedure“. Es handelt sich um eine Art von „Unterprogramm“, das nur für das Modul/Objekt ausgeführt wird (hier Tabellenblatt), für das es geschrieben wurde.
Damit wird in diesem Beispiel jedes Mal, wenn eine andere Zelle auf dem Arbeitsblatt angeklickt wird, die Calculate
-Methode auf den ausgewählten Bereich (Target
) angewendet. Das führt zu einer Neuberechnung von allen Formeln und Berechnungen auf dem aktuellen Blatt, hier in der Bedingten Formatierung.