Anzeige
Archiv - Navigation
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Farbformatierungsinfo einer Zelle auslesen

Farbformatierungsinfo einer Zelle auslesen
18.06.2008 15:57:23
Claus
Hallole zusammen,
innerhalb eines Makros möchte ich verzweigen, abhängig ob die aktuelle Zelle grün markiert ist oder nicht.
Somit benötige ich also eine Möglichkeit die Farbformatierungsinfo einer Zelle auszulesen.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbformatierungsinfo einer Zelle auslesen
18.06.2008 16:08:47
Hajo_Zi
Hallo Claus,
ich vermute mal es ist keine bedingte Formatierung. Range("IV1").Interior.ColorIndex

AW: Farbformatierungsinfo einer Zelle auslesen
18.06.2008 17:42:19
Claus
Hi Hajo,
vielen Dank. Richtig, es sind fest formatierte Zellen. Hier mein Ergebnis das funktioniert, auch wenn die syntax etwas anders ist als du gepostet hast. Mach ich dadurch einen Fehler?

Sub Makro1()
' Makro1 Makro
' Makro am 18.06.2008 von Claus aufgezeichnet
Dim farb As Variant
Range("A1").Select
farb = ActiveCell.Interior.ColorIndex
Range("B1").Select
ActiveCell.FormulaR1C1 = farb
End Sub


Anzeige
AW: Farbformatierungsinfo einer Zelle auslesen
18.06.2008 17:53:00
Hajo_Zi
Hallo Claus,
Excel ist ein vielseitiges Programm und man kann viele Probleme damit lösen. Jede positive Seite hat aber auch negative Aspekte - einer davon ist im Makrorecorder enthalten.
Die Bücher, die es zu Excel VBA gibt, erklären viele Funktionen, aber ich habe bisher nur in einem gelesen, dass der vom Makrorecorder aufgezeichnete Code bereinigt werden sollte.
Der Makrorecorder zeichnet alle Aktionen auf, u. a. auch das Auswählen einer Zelle oder eines eingebetteten Objektes (Bild, Diagramm, Zeichnungsobjekt usw.) – dabei wird generell Select und Activate aufgezeichnet. Diese Befehle sind in VBA zu 99,9% nicht notwendig. Sie lassen den Bildschirm flackern und senken die Geschwindigkeit bei der Ausführung des Codes. Man sollte also schon von Beginn an bei der Programmierung darauf achten, solche Befehle zu vermeiden. Meine Erfahrung mit dem Vorsatz: „Das mache ich später“ ist, man schreibt das Programm später meist komplett neu. Also kostest es nicht nur Rechnerzeit sondern auch Deine Zeit und ist Dir Deine Zeit so wenig Wert?
Zum Vergleich mit und ohne Select schau Dir auch mal diese Beispielarbeitsmappe an: [url=http://hajo-excel.de/chCounter3/getfile.php?id=61]mit und ohne select[/url] Auf meiner Homepage sind alle meine Beispiele ohne Select. Da kann man sich also einige Lösungsansätze zu diesem Thema ansehen.

Sub Makro1()
' Makro1 Makro
' Makro am 18.06.2008 von Claus aufgezeichnet
Range("B1") = Range("A1").Interior.ColorIndex
End Sub


Gruß Hajo

Anzeige
AW: Farbformatierungsinfo einer Zelle auslesen
18.06.2008 18:27:19
Hajo_Zi
Hallo Claus,
so ganz verstehe ich das nicht.
Range("B1") = Cells(Zeile,Spalte).Interior.ColorIndex
Gruß Hajo

AW: Farbformatierungsinfo einer Zelle auslesen
18.06.2008 18:31:00
Claus
Hallo Hajo,
aber ich verstehe dich und es funktioniert. Deshalb nochmals vielen Dank und liebe Grüße
Claus

AW: Farbformatierungsinfo einer Zelle auslesen
18.06.2008 17:31:14
JensF
Hi,
in XL2007 ist das nicht mehr ganz so einfach. Da jede Zelle einen anderen Farbcode besitzen kann, kann man nicht mehr über den Farbindex(ColorIndex) auf die wirkliche Farbe der Zelle schliessen.
Mit diesem Makro kannst Du die RotGrünBlau-Bestandteile der Farbe der aktiven Zelle auslesen:

Sub FarbeAuslesen()
Farbe = ActiveCell.Interior.Color 'Dezimalzahl des Farbcodes
rot = Int(Farbe Mod 256)
grün = Int(Farbe / 16 ^ 2 Mod 256)
blau = Int(Farbe / 16 ^ 4 Mod 256)
MsgBox rot & "-" & grün & "-" & blau
End Sub


Grüße
Jens

Anzeige
AW: Farbformatierungsinfo einer Zelle auslesen
18.06.2008 17:34:00
JensF
Hi,
in XL2007 ist das nicht mehr ganz so einfach. Da jede Zelle ihren eigenen Farbcode enthalten kann, kann man über den Farbindex (ColorINdex) nicht mehr auf die tatsächliche Farbe der Zelle schliessen. Mit diesem Makro kannst Du die RotGrünBlau-Bestandteile der Farbe der aktiven Zelle auslesen:

Sub FarbeAuslesen()
Farbe = ActiveCell.Interior.Color 'Dezimalzahl des Farbcodes
rot = Int(Farbe Mod 256)
grün = Int(Farbe / 16 ^ 2 Mod 256)
blau = Int(Farbe / 16 ^ 4 Mod 256)
MsgBox rot & "-" & grün & "-" & blau
End Sub


Grüße
Jens

Anzeige
AW: Farbformatierungsinfo einer Zelle auslesen
18.06.2008 17:46:00
Claus
Hallo Jens,
vielen Dank. Sorry, mein Fehler, ich hab hier Excel 2003 version. Somit funzt Hajos Lösung.

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige