Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Farbe aus Zelle einer auf dem Blatt befindlichen Tabelle lesen
#1
Hallo zusammen,

für die Arbeit habe ich ein VBA - Makro geschrieben, welches die Hintergrundfarbe einer Zelle ausliest und die Daten in ihr auf ein anderes Blatt übeträgt. Dies funktioniert soweit gut.
Leider kann ich aus der gewünschten Tabelle (Reiter einfügen -> Tabelle) auf dem Arbeitsmappenblatt die Farbe nicht auslesen. Nach langem überlegen und probieren habe ich bemerkt, das dies nur funktioniert, wenn die Zellen nicht als Tabelle formatiert sind.
Sobald man eine solche Tabelle hat und die Farbe der Zelle über:

Code:
Farbe = Tabelle1.Cells(2, 1).Interior.ColorIndex
versucht auszulesen kommt immer der Farbwert -4142 heraus.

Um den richtigen Farbwert herauszubekommen muss man die schon bunten Zellen noch einmal mit der gleichen Farbe formatieren. Wodurch ich davon ausgehe das die Tabelle wie in einem einzelnen Layer über dem eigentlichen Blatt liegt.


Ist es möglich die Zellen direkt aus der Tabelle zu lesen, da diese selbst einen Namen besitzt?
Oder gibt es eine andere Lösung dafür ohne die Hintergrundfarbe noch einmal nachsetzen zu müssen? Zudem weiß ich nicht ob diese Mitwandert wenn man die Tabelle anders sortiert.
Ist dieses Problem schon einmal aufgetreten?

Ich hoffe ihr habt dafür eine Lösung parat. Vielen Dank.

alkalio
Antworten Top
#2
Moin!
Bitte, bitte:
Lasse den - mit Verlaub - Quatsch mit jeglicher Farbauswertung sein und "begnüge" Dich mit dem, was Excel kann, nämlich Auswertung von Werten.
Um Dir weitergehende Tipps geben zu können, braucht es aber schon eine aussagefähige Beispieldatei, aus der Deine eigentliche Intention hervorgeht.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hallo,

Zitat:Leider kann ich aus der gewünschten Tabelle (Reiter einfügen -> Tabelle) auf dem Arbeitsmappenblatt die Farbe nicht auslesen

... unlängst hatten wir das Thema schon einmal.
Das Ergebnis dieser Diskussion war, wenn ich mich recht erinnere, daß sich die
Schriftfarbe der Reiter mit VBA weder auslesen noch ändern läßt.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#4
Hallöchen,

Angezeigte Farben auf dem Tabellenblatt kann man per VBA auslesen. Das funktioniert auch bei intelligenten Tabellenfarben Smile
Wähle mal die eine oder andere Zelle und schaue, was Dir das Makro meldet.

Code:
Sub test()
MsgBox ActiveCell.DisplayFormat.Interior.Color
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
@Klaus: 
Zitat:daß sich die Schriftfarbe der Reiter mit VBA weder auslesen noch ändern läßt.
Versteh ich jetzt was falsch? Mit Reiter ist das Blattregister gemeint, oder?

Code:
Debug.Print ActiveWorkbook.Sheets("Tabelle1").Tab.Color

Oder bin ich jetzt am falschen Dampfer?
Schöne Grüße
Berni
Antworten Top
#6
Hallo Berni,

ich glaube, alkalio wollte nur beschreiben, wie er eine neue - intelligente - Tabelle eingefügt hat - oben über den "Reiter" Einfügen … und der Käpt'n hat die Frage nach der Farbe auf den Blattreiter bezogen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Hi André,

da könntest du recht haben, aber dann wäre Klaus' Aussage dennoch nicht korrekt, oder?
Schöne Grüße
Berni
Antworten Top
#8
Hallo Berni,

da hast Du recht - außer, dass Klaus bei uns Peter gerufen wird Smile Ist aber auch ein Kreuz mit den Reitern, Registern, Ribbons und was sonst noch alles mit R anfängt :15:
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Zitat:außer, dass Klaus bei uns Peter gerufen wird
:33: :33: :33:
I am deeply sorry!
Schöne Grüße
Berni
Antworten Top


Gehe zu:


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