Surface-graafin värien muuttaminen

1+14

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.

7

100

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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 Sub

        MarkerForegroundColor = 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

    1. Kun väestö ikääntyy ja veronmaksajat vähenee, mitä sitten vasemmistolaiset?

      Maahanmuutto ei vaan ole ratkaisu väestön ikääntymiseen. Maahanmuutto lykkää ja hidastaa väestön ikääntymistä ja työv
      Maailman menoa
      200
      4463
    2. 6 kW saunan lämmityksestä kohta 10 euron lisämaksu / kerta

      Kokoomuslainen sähköyhtiöiden hallitsema Energiavirasto ehdottaa 5 kW:n rajaa, jonka ylittämisestä tulee lisämaksu. Tark
      Maailman menoa
      73
      3846
    3. "Mitä sä nainen tuot sitten pöytään" ?

      Jos mies provaidaa ja suojelee... Pitääkö miesten kysyä tuollaisia?
      Ikävä
      103
      3006
    4. Ekologinen kommunismi tulee voittamaan fossiilikapitalismin

      Kiina on mahtitekijä uusiutuvien energialähteiden kehityksessä, ja Trump osoitus viimeisestä öljyn perään itkemisestä, m
      Maailman menoa
      21
      2875
    5. Minja jytkyttää vas.liiton kannatusta ylöspäin

      Alkaa raavaat duunarimiehetkin palaamaan vasemmistoliiton kannattajiksi. Eduskunnassahan on vain kaksi työntekijöiden p
      Maailman menoa
      93
      2667
    6. Oikeistopuolueiden kannatus vain 37,8 %, vasemmiston 43,0 %

      Keskustaan jää 17,4 prosenttia ja loput ovat sitten mitä ovat. Mutta selvästikin Suomen kansa on vasemmalle kallellaan.
      Maailman menoa
      33
      2137
    7. Mahonselän jäät - Saaristokunta Lieksa brutaalisti kriisin partaalla!

      Lieksan loppuvuoden hyvän kehityksen jälkeen ei olisi uskonut että palstan ahkerista kommentoijista huolimatta matkailu
      Lieksa
      138
      2128
    8. Tiedän ettei

      Meistä mitään tule. Toinen oli sinulle tärkeämpi
      Ikävä
      20
      2092
    9. Laitetaan nyt kirjaimet kohdilleen

      kuka rakastaa ja ketä ?
      Ikävä
      87
      2059
    10. Mies, kerro minulle vielä jotakin aivan uniikkia

      ja ainutlaatuista minkä vain me kaksi voisimme ymmärtää jos olemme sen kokeneet ja eläneet, jotta ihan varmasti tietäisi
      Tunteet
      37
      1839
    Aihe