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
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.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
z.B. wenn du hinter deinem Strassennamen den Namen des zugehörigen Kreises schreibst.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
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.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
16.12.2020, 21:40 (Dieser Beitrag wurde zuletzt bearbeitet: 16.12.2020, 21:41 von Arsenal76.)
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.
17.12.2020, 00:08 (Dieser Beitrag wurde zuletzt bearbeitet: 17.12.2020, 00:09 von Ego.)
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.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:1 Nutzer sagt Danke an Ego für diesen Beitrag 28 • Arsenal76