Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
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

Punkte im Punktdiagramm einfärben (abhängig von We

Punkte im Punktdiagramm einfärben (abhängig von We
25.02.2015 14:16:05
We
Hallo, in meinem Anhang findet Ihr eine Map ("Grafik"), auf der Koordinaten eingetragen sind. Die Punkte entstehen aus aus den Tabellen LATITUDE und LONGITUDE in "Datensatz". Ich möchte die Punkte nun abhängig vom Download-Speed einfärben. Am besten in 4-5 verschiedenen Farben. Wie mache ich das?
P.S. am liebsten mit VBA...
https://www.herber.de/bbs/user/95990.xlsm

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Punkte im Punktdiagramm einfärben (abhängig von We
25.02.2015 14:49:23
We
Hi,
und welche Farben sollen welchen Werte zugeordnet werden?


AW: Punkte im Punktdiagramm einfärben (abhängig von We
25.02.2015 14:53:29
We
Es soll eine Heatmap werden, also
langsam bis schnell:
Blau - Grün - Gelb - Orange - Rot

AW: Punkte im Punktdiagramm einfärben (abhängig von We
25.02.2015 14:56:31
We
Sorry, die Geschwindigkeiten vergessen...
Blau 0 - 999
Grün 1.000 - 4.999
Gelb 5.000 - 9.999
Orange 10.000 - 19.999
Rot 20.000 - "open end"

AW: Punkte im Punktdiagramm einfärben (abhängig von We
25.02.2015 19:06:31
We
Hi Leonhard,
leider hatte ich bis jetzt kein Internet (Wartungsarbeiten durch den Provider), deshalb kann ich erst jetzt antworden. Du hast zwar anscheinend schon eine Lösung, aber da ich meine bereits fertig vorliegend habe, poste ich sie ebenfalls:
Sub Dia()
Dim lngPunkt As Long
Dim serReihe As Series
Dim intFarbe As Integer
Dim ptPunkt As Point
Dim strFormel As String
Application.ScreenUpdating = False
With Worksheets("Grafik").ChartObjects(1).Chart
Set serReihe = .SeriesCollection(1)
strFormel = Split(serReihe.Formula, ",")(1)
With serReihe
For lngPunkt = 1 To .Points.Count
If Worksheets("Datensatz").Range(strFormel).Cells(lngPunkt).Offset(0, -2) = _
1000 _
And Worksheets("Datensatz").Range(strFormel).Cells(lngPunkt).Offset(0, -2) = _
5000 _
And Worksheets("Datensatz").Range(strFormel).Cells(lngPunkt).Offset(0, -2) = _
10000 _
And Worksheets("Datensatz").Range(strFormel).Cells(lngPunkt).Offset(0, -2) = _
20000 Then
intFarbe = 3
End If
Set ptPunkt = .Points(lngPunkt)
With ptPunkt
.Format.Line.Visible = msoFalse
.MarkerBackgroundColorIndex = intFarbe
.MarkerForegroundColorIndex = intFarbe
End With
Next lngPunkt
End With
End With
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Punkte im Punktdiagramm einfärben (abhängig von We
27.02.2015 08:45:33
We
So, da bin ich wieder. Beide Codes funktionieren hervorragend, vielen vielen Dank an euch zwei! Ich werde euch beide in die Credits aufnehmen ;-)
Beste Grüße Leonhard

AW: Punkte im Punktdiagramm einfärben (abhängig von We
25.02.2015 15:50:38
We
Hallo Leonhard,
eine automatisierte Formatierung der Datenpunkte in der gewünschten Form geht nur per Makro.
Gruß
Franz

Sub FormatPoints()
Dim wksData As Worksheet, Zeile As Long
Dim dblMin As Double, dblMax As Double
Dim objChart As Chart, objPoint As Point
Dim lngFarbe(1 To 5) As Long, intFarbe As Integer
Set wksData = Worksheets("Datensatz")
Set objChart = Worksheets("Grafik").ChartObjects(1).Chart
With wksData
'Min- und Max-Wert der Download KBPS ermitteln
With .Range(.Cells(2, 3), .Cells(.Rows.Count, 3).End(xlUp))
dblMin = .Application.WorksheetFunction.Min(.Cells)
dblMax = .Application.WorksheetFunction.Max(.Cells)
End With
End With
'Farbwerte für die 5 Stufen - 1 = niedrige KBPS, 5 = hohe KBPS
lngFarbe(1) = RGB(Red:=255, Green:=0, Blue:=0) 'rot
lngFarbe(2) = RGB(Red:=128, Green:=128, Blue:=128) 'grau
lngFarbe(3) = RGB(Red:=255, Green:=255, Blue:=0) 'gelb
lngFarbe(4) = RGB(Red:=102, Green:=255, Blue:=255) 'hellblau
lngFarbe(5) = RGB(Red:=0, Green:=255, Blue:=0) 'Green
Zeile = 1 'Zeile mit den Spaltentiteln in der Tabele mit den Quelldaten des Diagramms
For Each objPoint In objChart.SeriesCollection(1).Points
Zeile = Zeile + 1
If IsEmpty(wksData.Cells(Zeile, 3)) Then Exit For
intFarbe = 0
Select Case wksData.Cells(Zeile, 3)
Case Is  0 Then
With objPoint
.Format.Line.ForeColor.RGB = RGB(0, 0, 0)
.MarkerBackgroundColor = lngFarbe(intFarbe)
End With
End If
Next
'Farblegende unter Diagramm in zeile 40 einfügen
With Worksheets("Grafik")
.Rows(40).Clear
For intFarbe = LBound(lngFarbe) To UBound(lngFarbe)
.Cells(40, (intFarbe - 1) * 2 + 1).Interior.Color = lngFarbe(intFarbe)
.Cells(40, (intFarbe - 1) * 2 + 1).Value = _
"'

Anzeige
AW: Punkte im Punktdiagramm einfärben (abhängig von We
25.02.2015 15:54:32
We
Hast du alles nur für mich geschrieben? Danke schonmal für die Mühe, ich habe jetzt Feierabend und zu Hause keinen Zugriff mehr - ich werde mich morgen direkt bei dir melden!

AW: Punkte im Punktdiagramm einfärben (abhängig von We
25.02.2015 16:14:58
We
Hallo Leonhard,
ein paar Sachen sind grundsätzlicher Natur, wenn man Datenpunkte individuell formatieren will. Die hab ich aus meinem Fundus ausgegraben.
Die Werte/Farbprüfungen sind dann speziell zugeschnitten.
Nachfolgend das Makro angepasst auf deine gewünschten Bereiche für die KBPS-Werte und Farben.
Gruß
Franz
Sub FormatPoints()
Dim wksData As Worksheet, Zeile As Long
Dim dblMin As Double, dblMax As Double
Dim objChart As Chart, objPoint As Point
Dim lngFarbe(1 To 5) As Long, intFarbe As Integer
Dim dblWert(1 To 5) As Double
Set wksData = Worksheets("Datensatz")
Set objChart = Worksheets("Grafik").ChartObjects(1).Chart
With wksData
'Min- und Max-Wert der Download KBPS ermitteln
With .Range(.Cells(2, 3), .Cells(.Rows.Count, 3).End(xlUp))
dblMin = .Application.WorksheetFunction.Min(.Cells)
dblMax = .Application.WorksheetFunction.Max(.Cells)
End With
End With
'Farbwerte für die 5 Stufen - 1 = niedrige KBPS, 5 = hohe KBPS
dblWert(1) = 1000: lngFarbe(1) = RGB(Red:=102, Green:=255, Blue:=255) 'hellblau
dblWert(2) = 5000: lngFarbe(2) = RGB(Red:=0, Green:=255, Blue:=0) 'Green
dblWert(3) = 10000: lngFarbe(3) = RGB(Red:=255, Green:=255, Blue:=0) 'gelb
dblWert(4) = 20000: lngFarbe(4) = RGB(Red:=255, Green:=192, Blue:=0) 'Orange
dblWert(5) = 20000: lngFarbe(5) = RGB(Red:=255, Green:=0, Blue:=0) 'rot
Zeile = 1 'Zeile mit den Spaltentiteln in der Tabele mit den Quelldaten des Diagramms
For Each objPoint In objChart.SeriesCollection(1).Points
Zeile = Zeile + 1
If IsEmpty(wksData.Cells(Zeile, 3)) Then Exit For
intFarbe = 0
Select Case wksData.Cells(Zeile, 3)
Case Is = dblWert(5)
intFarbe = 5
End Select
If intFarbe > 0 Then
With objPoint
.Format.Line.ForeColor.RGB = RGB(0, 0, 0)
.MarkerBackgroundColor = lngFarbe(intFarbe)
End With
End If
Next
'Farblegende unter Diagramm eintragen in zeile 40 einfügen
With Worksheets("Grafik")
.Rows(40).Clear
For intFarbe = LBound(lngFarbe) To UBound(lngFarbe)
.Cells(40, (intFarbe - 1) * 2 + 1).Interior.Color = lngFarbe(intFarbe)
If intFarbe  UBound(lngFarbe) Then
.Cells(40, (intFarbe - 1) * 2 + 1).Value = _
"'=" & Format(dblWert(intFarbe), "0")
End If
Next
.Cells(40, (UBound(lngFarbe)) * 2 + 1).Value = "KBPS"
End With
End Sub

Anzeige
AW: Punkte im Punktdiagramm einfärben (abhängig von We
27.02.2015 08:46:00
We
So, da bin ich wieder. Beide Codes funktionieren hervorragend, vielen vielen Dank an euch zwei! Ich werde euch beide in die Credits aufnehmen ;-)
Beste Grüße Leonhard

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige