Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


[Excel] Zellformatierungen / -informationen ohne VBA auslesen
#1
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.

 ABCDE
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:

?mage

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 ;-)

 ABCDE
1     
2     
3   3 
4     
5     

NameBezug
Hintergrundfarbe=ZELLE.ZUORDNEN(63;INDIREKT("ZS(-1)";FALSCH))

ZelleFormel
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.

?mage

 ABCDE
1     
2     
3     
4     
5     
6     
73    
8     

NameBezug
Hintergrundfarbe=ZELLE.ZUORDNEN(63;INDIREKT("Z(-4)S(+2)";FALSCH))

ZelleFormel
A7=Hintergrundfarbe

Und noch ein paar Beispiele dafür, was mit =ZELLE.ZUORDNEN im Tabellenblatt möglich ist:

 ABCD
1 SchriftartSchriftgrösseFett oder nicht
2TestCalibri16WAHR
3TestArial28FALSCH

NameBezug
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))

ZelleFormel
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 ;-)


.doc   Hilfe_zu_ZELLE.ZUORDNEN.doc (Größe: 33,5 KB / Downloads: 9)
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  [Excel] Datum ohne Trennzeichen - andere Formel Wilfried Höttl 0 1.325 17.05.2014, 19:35
Letzter Beitrag: Wilfried Höttl
  [Excel] Datum ohne Trennzeichen (Punkt) eingeben WillWissen 0 4.269 17.05.2014, 14:07
Letzter Beitrag: WillWissen
  [Excel] Zeitstempel ohne VBA (3. Möglichkeit) WillWissen 0 3.143 17.05.2014, 13:31
Letzter Beitrag: WillWissen
  [Excel] Eingabe von Uhrzeiten ohne Doppelpunkt Peter 0 2.040 21.04.2014, 07:53
Letzter Beitrag: Peter
  [Excel] Jede zweite Zeile ohne VBA löschen Kl@us-M. 0 6.773 14.04.2014, 13:49
Letzter Beitrag: Kl@us-M.
  [Excel] Zeilen in bestehender Tabelle ohne VBA einfügen Kl@us-M. 0 1.232 14.04.2014, 13:16
Letzter Beitrag: Kl@us-M.

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste