Haluaisin tehdä makron, jolla muutan surface-tyypin värejä. Manuaalisesti tämä onnistuu, mutta se on älyttömän hankalaa. Haluan, että värit kattavat tietyln skaalan, vaikka Labelien lukumäärä vaihtelee.. En ole keksinyt, miten tämä tehdään.
Surface-graafin värien muuttaminen
7
174
Vastaukset
- Mr. VBA
Moi, toimisiko alla oleva ? Moduulin alkuun (aivan moodulin alkuun) teksti
Option Base 1
ja sitten alemmas makro
Sub GraafiVarit()
' makrolla voi muuttaa graafien sarjojen värejä
' toimii vain aktiiviseen kaavioon, legend tulee olla myös esillä kaaviossa
' HUOM! moduulin alkuun tulee lisätä lause "Option Base 1"
Dim Varit() As Variant
Dim Leg As Integer
Dim i As Integer
' määrittele seuraavalla rivillä array-muuttujan arvoiksi haluamasi väriarvot
' esim joka toinen eri väri-> Varit = Array(5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4)
' oletuksena alla 12 eri väriä
Varit = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
On Error Resume Next
Leg = ActiveChart.Legend.LegendEntries.Count
For i = 1 To UBound(Varit)
ActiveChart.Legend.LegendEntries(i).LegendKey.Interior.ColorIndex = Varit(i)
Next i
End Sub "Haluan, että värit kattavat tietyln skaalan, vaikka Labelien lukumäärä vaihtelee.. .."
;-)
Keep EXCELing
@Kunde- 1+14
Sorry, ei Label, vaan Band. En keksi, millä saan muutettua Bandin väriä, ts. tuota kommentiksi muutettua riviä olen yrttänyt tuloksetta kirjoittaa monella tavalla.
Private Sub SpinButton2_Change()
ActiveSheet.ChartObjects("Chart 1").Activate
Application.ScreenUpdating = False
With ActiveChart
le = SpinButton2.Value
Max = .Axes(xlValue).MaximumScale
.Axes(xlValue).MinimumScale = Max - le
n = 0
For Each objLE In ActiveChart.Legend.LegendEntries
' objLE.LegendKey.MarkerForegroundColor = Väri(n / le)
n = n 1
Next
End With
End Sub - ...
1+14 kirjoitti:
Sorry, ei Label, vaan Band. En keksi, millä saan muutettua Bandin väriä, ts. tuota kommentiksi muutettua riviä olen yrttänyt tuloksetta kirjoittaa monella tavalla.
Private Sub SpinButton2_Change()
ActiveSheet.ChartObjects("Chart 1").Activate
Application.ScreenUpdating = False
With ActiveChart
le = SpinButton2.Value
Max = .Axes(xlValue).MaximumScale
.Axes(xlValue).MinimumScale = Max - le
n = 0
For Each objLE In ActiveChart.Legend.LegendEntries
' objLE.LegendKey.MarkerForegroundColor = Väri(n / le)
n = n 1
Next
End With
End SubMarkerForegroundColor = RGB(0,255,0)
- 1+14
... kirjoitti:
MarkerForegroundColor = RGB(0,255,0)
Millaisen rimpsun perään tuo MarkerForegroundColor on laitettava, jotta sille voidaan antaa arvo?
- 1+14
1+14 kirjoitti:
Millaisen rimpsun perään tuo MarkerForegroundColor on laitettava, jotta sille voidaan antaa arvo?
No, jo keksin. Ei mikään MarkerForegroundColor olekaan. Yllä kommentoitu rivi pitää olla muodossa:
objLE.LegendKey.Interior.Color = Väri(n / ny)
- 1+14
Ei Label, vaan Band.Sorry. En ole onnistunut muuttamaan Bandien värejä.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Kela tukee virallisesti Pride-liikettä
Iso kiitos Kansaneläkelaitokselle tuen osoittamisesta myös vähemmistöille. Näin toimii vastuullinen valtiollinen koko k1314501Pride-liputus närästää monissa Suomen kunnissa
Suomen lipun nostamisesta on laki. Pride‑liputuksesta ei. Kieltäytyviin kuntiin kohdistuu poliittista painostusta kuin k803250- 1021530
- 881385
- 96917
- 79794
Omasp hakenut Fincapia ja Gapconia konkurssiin perjantaina 5.6
Ilkka ei ole vielä ehtinyt uutisoida, mutta Omasp on jättänyt 5.6 konkurssihakemuksen Fincapia ja Gapconia koskien. Ilka18762- 42710
Tämän palstan naiseksi esittäytyvät
Ovatkin kuulemma oikeasti sukupuoleltaan miehiä. Pitääkö paikkansa?112699- 42628