Clever-Excel-Forum

Normale Version: Füllfarbe der Form von Zelle automatisch übernehmen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe folgendes Problem, für einen Ortsplan habe ich den Ort in aktuell 4 Gruppen aufgeteilt. Jede Straße hat eine eigene Zellfarbe erhalten. Im Ortsplan mit den ganzen Straßen habe ich jetzt Kreise in die jeweilige Straße eingefügt und diese Kreise manuell mit der aktuellen Farbe der Straße markiert. Die farbigen Kreise helfen mir schneller eine Übersicht zu haben wie ich die Straßen eingeteilt habe.
Wenn ich jetzt die Einteilung der Straßen in der Gruppe verändere, dann erhalten die Straßen auch andere Farben.
Jetzt suche ich eine Möglichkeit wie ich die entsprechende Füllfarbe vom Kreis automatisch in die entsprechende Farbe mit ändert. Denke dazu werde ich ein Makro brauchen, hab aber leider nur wenig Erfahrung in VBA / Makro

[attachment=35851]

Danke im Voraus für die Tipps.

VG
Michael
Hallo Michael,

zu
Zitat:Denke dazu werde ich ein Makro brauchen
Ja, das ist richtig.


Aber auch ein Makro kann die Kreise nur richtig einfärben, wenn es weiß welcher Kreis zu welcher Straße gehört.
Am einfachsten ist es wenn man dem Kreis über das Namensfeld den Namen der Straße gibt. Auch eine Zuordnungstabelle mit Straßennamen und Namen des Kreises wäre möglich.
danke für die Info, wie erstelle ich eine Zuordnungstabelle im Excel?
Hallo Michael,

z.B. wenn du hinter deinem Strassennamen den Namen des zugehörigen Kreises schreibst.
das verstehe ich nicht.

Die Straße heißt Flurweg, den Kreis habe ich Kreis-Flurweg benannt.

Wie soll ich den Kreis dann hinter die Straße dazu schreiben?
Deshalb weiß doch der Kreis noch nicht welche Farbe er haben soll?
Hallo Michael,

ich habe in meiner ersten Antwort zwei unterschiedliche Möglichkeiten aufgeführt. Wenn du eine schon umgesetzt hast, warum fragst du nach der anderen. Mit deiner Bezeichnung der Kreise ist die Einfärbung mit einem Programm möglich.

Einen code bekommst du nur wenn du eine Beispieldatei zur Verfügung stellst an der man den code testen kann und eventuell auch noch Fallstricke findet.
Hallo Helmut,

im Anhang findest du den Ortsplan, wenn ich die Farbe der Straße ändere, wollte ich den entsprechenden Kreis in der entsprechenden Farbe der Straßenzelle haben.

Danke

...sorry jetzt mit Anhang
Hallo Michael



in der Anlage die Datei mit diesem Code:

Zitat:Private Sub cbTuwat_Click()
Dim Z As Long
Dim Liste As Variant
Dim rngListe As Range
Dim sh As Shape

Liste = ThisWorkbook.Names("Liste").RefersToRange.Value
Set rngListe = ThisWorkbook.Names("Liste").RefersToRange.Cells(1, 1)
For Each sh In Me.Shapes
    If Left(sh.Name, 6) = "Kreis-" Then
        For Z = 2 To UBound(Liste, 1)
            If Liste(Z, 1) = Right(sh.Name, Len(sh.Name) - 6) Then
                sh.Fill.ForeColor.RGB = rngListe.Offset(Z - 1, 0).Interior.Color
                Exit For
            End If
        Next Z
        If Z > UBound(Liste, 1) Then
            MsgBox "Straße """ & Right(sh.Name, Len(sh.Name) - 6) & """ nicht gefunden."
        End If
    End If
Next sh
End Sub


Und hier noch 3 Bemerkungen:
1. ich habe noch zwei weiteren Ellipsen einen Namen nach der von dir vorgeschlagenen Regel gegeben (der Rest ist für dich).
2. Das Umfärben geschieht nach einem Klick auf den Button "tuwat".
3. Da ich in den Programmen ungern mit festen Adressen aus dem Blatt arbeite, habe ich der Liste mit den Strassennamen den Namen "Liste" gegeben.
Das Programm liest für das Kopieren der Farben die erste Spalte ab der zweiten Zeile dieses Bereichs.
Wenn du neue Strassennamen hinzufügst must du den benannten Bereich erweitern oder direkt Zellen nur vor dem bisher letzten Namen hinzufügen.
Super Tabelle,

vielen Dank für den Support

VG
Michael