16.05.2014, 10:49
Entgegen der landläufigen Auffassung, dass ein Auslesen von Zellformatierungen und -informationen nur mit Hilfe von VBA möglich ist, gibt es ein Relikt aus der Zeit der seeligen EXCEL 4.0 - Makros, das zumindest bis XL 2010 noch funktioniert:
ZELLE.ZUORDNEN
Diese Funktion steht zwar nicht mehr als Tabellenblattfunktion zur Verfügung, aber mit 'nem kleinen Trick kann man sie dennoch nutzen.
Nehmen wir an, Ihr wollt den Farbindex der Füllfarbe von Zelle C3 auslesen, um diese Information für weitere Auswertungen zu verwenden.
[Excel bis 2003] Klickt in der Menüleiste auf "Einfügen - Namen - Definieren".
[Excel ab 2007] Register "Formeln" -> Gruppe "Definierte Namen" -> Namen definieren"
Das nun erscheinende, ähnlich aussehende Fenster füllt Ihr wie folgt:
[Bild: zuordnen01.jpg]
Nach Klick auf OK gebt Ihr nun im Tabellenblatt in Zelle D3 folgendes ein: =Hintergrundfarbe. Nach Bestätigen mit ENTER erscheint in D3 die Ziffer "3" und das genau ist der Füllfarbenindex der Zelle C3
Ein paar Hinweise zur Syntax der Formel für den Bezug in der Namensdefinition:
=ZELLE.ZURDNEN(63;...): Eine Auflistung der sog. "Typen", die sich - in diesem Beispiel 63 - hinter den Zahlen verbergen, habe ich als Word-Dokument angehängt.
Was aber verbirgt sich hinter dem unverständlichen Terminus INDIREKT("ZS(-1)". Nun, auch das ist schnell und einfach erklärt: In der Funktion INDIREKT wird die Z1S1-Schreibweise verwendet, das bedeutet Z eile 1 S palte 1 (das könnt Ihr nebenbei bemerkt bis XL 2003 unter "Extras - Optionen - Allgemein - Z1S1Bezugsart" einstellen, ab 2007 unter Optionen -> Formeln).
Z bedeutet in diesem Fall "gleiche Zeile", denn die Formel in D3 soll ja den Farbindex aus C3, also der gleichen Zeile auslesen.
S(-1) hingegen veranlasst die Formel in D3, den Farbindex aus der Spalte links daneben auszulesen (Spalte D ist die 4. Spalte, wir wollen aber aus Spalte C - also der 3. Spalte - auslesen, daher -1).
Vielleicht noch ein Beispiel zur Erläuterung. Wir wollen den Füllfarbenindex der Zelle C3 nicht in D3, sondern in Zelle A7 auslesen. Für unsere Bezugsformel bedeutet dies: Von Zeile 7 müssen wir zur Zeile 3, also -4. Von Spalte A müssen wir zur Spalte C, also +2.
[Bild: zuordnen02.jpg]
Und noch ein paar Beispiele dafür, was mit =ZELLE.ZUORDNEN im Tabellenblatt möglich ist:
Ihr seht, die alten Excel 4.0 - Makrobefehle haben durchaus auch heute noch ihre Berechtigung, vor allem für die-/denjenigen, die / der sich mit VBA etwas schwer tut
Hilfe_zu_ZELLE.ZUORDNEN.doc (Größe: 33,5 KB / Downloads: 38)
ZELLE.ZUORDNEN
Diese Funktion steht zwar nicht mehr als Tabellenblattfunktion zur Verfügung, aber mit 'nem kleinen Trick kann man sie dennoch nutzen.
Nehmen wir an, Ihr wollt den Farbindex der Füllfarbe von Zelle C3 auslesen, um diese Information für weitere Auswertungen zu verwenden.
A | B | C | D | E | |
1 | |||||
2 | |||||
3 | |||||
4 | |||||
5 |
[Excel bis 2003] Klickt in der Menüleiste auf "Einfügen - Namen - Definieren".
[Excel ab 2007] Register "Formeln" -> Gruppe "Definierte Namen" -> Namen definieren"
Das nun erscheinende, ähnlich aussehende Fenster füllt Ihr wie folgt:
[Bild: zuordnen01.jpg]
Nach Klick auf OK gebt Ihr nun im Tabellenblatt in Zelle D3 folgendes ein: =Hintergrundfarbe. Nach Bestätigen mit ENTER erscheint in D3 die Ziffer "3" und das genau ist der Füllfarbenindex der Zelle C3
A | B | C | D | E | |
1 | |||||
2 | |||||
3 | 3 | ||||
4 | |||||
5 |
Name | Bezug |
Hintergrundfarbe | =ZELLE.ZUORDNEN(63;INDIREKT("ZS(-1)";FALSCH)) |
Zelle | Formel |
D3 | =Hintergrundfarbe |
Ein paar Hinweise zur Syntax der Formel für den Bezug in der Namensdefinition:
=ZELLE.ZURDNEN(63;...): Eine Auflistung der sog. "Typen", die sich - in diesem Beispiel 63 - hinter den Zahlen verbergen, habe ich als Word-Dokument angehängt.
Was aber verbirgt sich hinter dem unverständlichen Terminus INDIREKT("ZS(-1)". Nun, auch das ist schnell und einfach erklärt: In der Funktion INDIREKT wird die Z1S1-Schreibweise verwendet, das bedeutet Z eile 1 S palte 1 (das könnt Ihr nebenbei bemerkt bis XL 2003 unter "Extras - Optionen - Allgemein - Z1S1Bezugsart" einstellen, ab 2007 unter Optionen -> Formeln).
Z bedeutet in diesem Fall "gleiche Zeile", denn die Formel in D3 soll ja den Farbindex aus C3, also der gleichen Zeile auslesen.
S(-1) hingegen veranlasst die Formel in D3, den Farbindex aus der Spalte links daneben auszulesen (Spalte D ist die 4. Spalte, wir wollen aber aus Spalte C - also der 3. Spalte - auslesen, daher -1).
Vielleicht noch ein Beispiel zur Erläuterung. Wir wollen den Füllfarbenindex der Zelle C3 nicht in D3, sondern in Zelle A7 auslesen. Für unsere Bezugsformel bedeutet dies: Von Zeile 7 müssen wir zur Zeile 3, also -4. Von Spalte A müssen wir zur Spalte C, also +2.
[Bild: zuordnen02.jpg]
A | B | C | D | E | |
1 | |||||
2 | |||||
3 | |||||
4 | |||||
5 | |||||
6 | |||||
7 | 3 | ||||
8 |
Name | Bezug |
Hintergrundfarbe | =ZELLE.ZUORDNEN(63;INDIREKT("Z(-4)S(+2)";FALSCH)) |
Zelle | Formel |
A7 | =Hintergrundfarbe |
Und noch ein paar Beispiele dafür, was mit =ZELLE.ZUORDNEN im Tabellenblatt möglich ist:
A | B | C | D | |
1 | Schriftart | Schriftgrösse | Fett oder nicht | |
2 | Test | Calibri | 16 | WAHR |
3 | Test | Arial | 28 | FALSCH |
Name | Bezug |
Fett | =ZELLE.ZUORDNEN(20;INDIREKT("ZS(-3)";FALSCH)) |
Schriftart | =ZELLE.ZUORDNEN(18;INDIREKT("ZS(-1)";FALSCH)) |
Schriftgrösse | =ZELLE.ZUORDNEN(19;INDIREKT("ZS(-2)";FALSCH)) |
Zelle | Formel |
B2 | =Schriftart |
C2 | =Schriftgrösse |
D2 | =Fett |
B3 | =Schriftart |
C3 | =Schriftgrösse |
D3 | =Fett |
Ihr seht, die alten Excel 4.0 - Makrobefehle haben durchaus auch heute noch ihre Berechtigung, vor allem für die-/denjenigen, die / der sich mit VBA etwas schwer tut
Hilfe_zu_ZELLE.ZUORDNEN.doc (Größe: 33,5 KB / Downloads: 38)
Überlegen macht überlegen
Gruss aus dem schönen Hunsrück
_______ Klaus-Martin _______
Gruss aus dem schönen Hunsrück
_______ Klaus-Martin _______