Thema Datum  Von Nutzer Rating
Antwort
Rot Füllfarbe eine Freihandform
21.05.2015 13:11:47 Mattes
NotSolved
21.05.2015 15:09:53 nick bauer
NotSolved

Ansicht des Beitrags:
Von:
Mattes
Datum:
21.05.2015 13:11:47
Views:
1783
Rating: Antwort:
  Ja
Thema:
Füllfarbe eine Freihandform

Hallo,

ich habe folgendes Problem. Und bitte nicht  über meine VBA Fähigkeiten meckern, bin schon froh, dass ich überhaupt so weit gekommen bin.

In der Spalte A1 bis Ax habe ich Zahlen für bestimmte Produkte stehen. Anhand des Wertes dieser Zahlen möchte ich die Füllfarbe von Freihandformen ändern (sollen Poduktwerte auf eine "Karte" mit Postleitzahlengebiete werden).

Mit einer If Abfrage schaue ich wie groß der Produktwert ist und entsprechend soll die Füllfarbe der Freihandformen sich ändern. Von hellgrün, dunkelgrün. gelb, ....rot.

Dazu habe ich mir die Füllfarbennummer herausgesucht, aber diese ist glaube ich für Zellfarben, nicht für Freihandformen. Wenn ich das Skript wie unten laufen lasse, kommen merkwürde Farben zustande. Durch ausprobieren habe ich festgestellt, dass sich die Farben immer wiederholen und es quasi keine mehreren Farbtöne einer Farbe gibt. Hat da jemand eine Lösung?

So weit bin ich gekommen:

Sub Schaltfläche8_Klicken()
Dim wertforn As Integer
Dim wert01 As Double
    Dim i As Long
    Sheets(2).Select
Produktgr = Range("Q1")
If Produktgr = 1 Then 
 For i = 1 To 9
 wertform = 0 + i
 wert01 = Cells(i, 1)
    ActiveSheet.Shapes("PLZF" & wertform).Select
With Selection
If wert01 > 20 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 4
ElseIf wert01 > 17 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 50
ElseIf wert01 > 14 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 10
ElseIf wert01 > 11 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 36
ElseIf wert01 > 10 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 6
ElseIf wert01 > 8 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 44
ElseIf wert01 > 6 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 45
ElseIf wert01 > 4 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 46
ElseIf wert01 > 3 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 3
ElseIf wert01 < 1 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 15
End If
End With
Next i
ElseIf Produktgr= 2 Then

...

...

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Füllfarbe eine Freihandform
21.05.2015 13:11:47 Mattes
NotSolved
21.05.2015 15:09:53 nick bauer
NotSolved