Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
692to696
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
692to696
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

automatisches ändern der Füllfarbe in Freihandform

automatisches ändern der Füllfarbe in Freihandform
14.11.2005 13:59:15
Markus
Hallo Helfende,
ich habe ein Problem. Ich habe mehrere Freihandformen und möchte das diese je nach dem Inhalt von einer dazugehörigen Zelle eine bestimmte Farbe haben. Wenn z. B. in Zelle A1 eine 1 steht, dann soll die Form blau sein, bei einer 2 soll sie rot sein.
Wie kann ich das Problem lösen? Ich habe ca. 100 Formen, die sich ändern könnten, also jede anklicken ist fast unmöglich.
Gruß
Markus

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

Betreff
Datum
Anwender
Anzeige
AW: automatisches ändern der Füllfarbe in Freihandform
14.11.2005 15:30:23
Heiko
Hallo Markus,
so würde es schon mal für alle auf EINMAL gehen.

Sub FarbeAendern()
Dim shaFreeForm As Shape
If Range("A1") > 80 Then
MsgBox "Geben Sie in A1 eine Zahl zwischen 1 und 80 ein !", vbCritical
Exit Sub
End If
For Each shaFreeForm In ActiveSheet.Shapes
If shaFreeForm.AutoShapeType = 138 Then
shaFreeForm.Fill.ForeColor.SchemeColor = Range("A1")
End If
Next shaFreeForm
End Sub

Wenn du jeder Form eine eigne Zelle mit eigner Farbe zuweisen möchtest, dann geht das auch per Schleife. Dazu müßte ich aber wissen, wie die Form der Zelle zugeordnet ist.
Also z.B.
Zelle A1 = FreeForm1
Zelle A2 = FreeForm2
Zelle A3 = FreeForm3
...
Oder sind die Formen immer direkt an die Zelle angelehnt. Dann könnte man das über Shape.ButtonRightCell oder Shape.TopLeftCell auswerten.
Oder, oder, oder ...
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: automatisches ändern der Füllfarbe in Freihandform
17.11.2005 12:04:55
Markus
Hallo Heiko,
danke für die erste Hilfe. Meine Formen sind jeweils einer spezifischen Zelle zugeordnet (wie in Deinem ersten Beispiel). Wenn Du also noch eine Idee für die Schleife hättest, dann wäre es toll.
Gruß
Markus
AW: automatisches ändern der Füllfarbe in Freihandform
17.11.2005 15:18:26
Heiko
Hallo Markus,
hatte schon gedacht du hättest das Interesse verloren, aber hier ne Möglichkeit.

Sub FarbeAendern()
Dim shaFreeForm As Shape
Dim lngLastRow As Long, lngFreeFormsCount As Long
lngLastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
lngFreeFormsCount = 0
For Each shaFreeForm In ActiveSheet.Shapes
If shaFreeForm.AutoShapeType = 138 Then
lngFreeFormsCount = lngFreeFormsCount + 1
End If
Next shaFreeForm
If lngFreeFormsCount > lngLastRow Then
MsgBox "Sie haben mehr FreeForms als Farbcodezeilen in Spalte A !", vbCritical
Exit Sub
End If
lngFreeFormsCount = 1
For Each shaFreeForm In ActiveSheet.Shapes
If shaFreeForm.AutoShapeType = 138 Then
shaFreeForm.Fill.ForeColor.SchemeColor = ActiveSheet.Cells(lngFreeFormsCount, 1)
lngFreeFormsCount = lngFreeFormsCount + 1
End If
Next shaFreeForm
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige