Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
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
Inhaltsverzeichnis

VBA - Objekt Zellfarbe zuordnen

VBA - Objekt Zellfarbe zuordnen
16.07.2019 17:21:49
Matthias
Hi,
ich habe eine Problem, das ich leider nicht alleine lösen kann.
Ich habe in Excel eine Deutschlandkarte nachgebildet (mit Hilfe von Freihandformen). Diese Deutschlandkarte besteht aus 96 einzelen Objeken (PLZ 2-Steller).
Rechts neben der Deutschlandkarte befinden sich 96 Zellen, in denen für jedes Objekt Werte angezeigt werden (in diesem Fall - Aktivitäten unserer Vertriebsmitarbeiter in der entsprechenden Region). Diese 96 Zellen sind mittels bedingter Formatierung in einer Farbskala eingefärbt (hellgrau bis schwarz).
Nun möchte ich mittels VBA Code, dass jedes Objekt (Bsp. unten Objekt 17) in der Farbe der dazugehörigen Zelle eingefärbt wird (in dem Fall Zelle i4). Ich habe mal mit Hilfe des Makro-Recorders versucht das Objekt 17 einzufärben um die Syntax zu erhalten mit der ich das Objekt ansprechen kann. Jedoch komme ich an dieser Stelle nicht weiter.
Sub ChangeObjectColor()
ActiveSheet.Shapes.Range(Array("17")).Select
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.RGB = Range("i4").ForeColor.RGB
.Transparency = 0
.Solid
End With
End Sub

Wie kann ich mittels VBA jedem der 96 Objekte die Farbe (RGB) einer bestimmten Zelle zuordnen?
Vielen Dank vorab und beste Grüße
Matthias

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Deine Fehler, ...
16.07.2019 18:27:43
Luc:-?
…Matthias:
1. Die FarbEigenschaft von Shapes und Zellen (Range) haben unterschiedliche Bezeichner.
2. Da BedingtFormatierung verwendet wird, muss eine objektbildende Eigenschaft von Range (.DisplayFormat) und deren gleich bezeichnete Eigenschaft verwendet wdn (.Interior.Color).
Alles Weitere, so ist zu hoffen, wirst du richtig machen, wobei man das Shape nicht erst auswählen muss, sondern es auch direkt ansprechen kann.
Gruß, Luc :-?
„Der beste Beweis für intelligentes Leben im Universum ist, dass noch niemand versucht hat, Kontakt mit uns aufzunehmen.“ H.Lesch, 2018, Sonneberg
Deshalb Intelligenz steigern mit …

Anzeige
AW: Deine Fehler, ...
16.07.2019 18:55:52
Matthias
Hi Luc:-?,
vielen Dank für deine schnelle Rückmeldung und deinen Input.
Ich denke, dass ich die grundlegende Problematik verstanden habe. Jedoch bin ich (relativ) unerfahren in Punkto VBA Programmierung. Wie könnte ich eine objektbildende Eigenschaft zwischen Shapes und Range erstellen. Wie würde der VBA Code aussehen?
Vielen Dank vorab und beste Grüße
Matthias
AW: Deine Fehler, ...
16.07.2019 19:23:32
Rainer
Hallo Matthias,
so etwa:
   With ActiveSheet.Shapes.Range(Array("1")).Fill
.ForeColor.RGB = Range("A1").DisplayFormat.Interior.Color
End With
Gruß, Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige