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

111

    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. Riikan kukkaronnyöri on umpisolmussa

      Kulutus ei lähde liikkeelle, koska kansalaiset eivät usko, että: – työpaikka säilyy – tulot eivät romahda – talous ei h
      Maailman menoa
      1
      2656
    2. Jos vedetään mutkat suoraksi?

      Niin kumpaan ryhmään kuulut? A) Niihin, jotka menevät edellä ja tekevät? Vai B) Niihin, jotka kulkevat perässä ja ar
      Sinkut
      105
      2394
    3. Tanskan malli perustuu korkeaan ansioturvaan

      Ja vahvoihin työllisyys- ja kotoutumispalveluihin. Suomessa Riikka on leikannut juuri näitä: palkkatukea, työttömyysturv
      Maailman menoa
      4
      2199
    4. Vain vasemmistolaiset ovat aitoja suomalaisia

      Esimerkiksi persut ovat ulkomaalaisen pääomasijoittajan edunvalvojia, eivät auta köyhiä suomalaisia.
      Maailman menoa
      44
      1804
    5. Miten must tuntuu

      et sä ajattelet mua just nyt
      Ikävä
      31
      1386
    6. Anteeksipyyntöni

      Jätän tähän anteeksipyyntöni sinulle, koska en voi sanoa sitä missään muuallakaan. Pyydän anteeksi, jos purkamani tuska
      Järki ja tunteet
      14
      1233
    7. Kun et vain tajua että

      sua lähestytään feikkiprofiililla :D Hanki aivot :D m-n
      Ikävä
      167
      1083
    8. Persu ajoi autoa

      Ajoi lapsen yli https://www.iltalehti.fi/kotimaa/a/597a7468-3d1d-455e-bed2-21c1efc31ac1
      Perussuomalaiset
      20
      1013
    9. Sydämeni valtiaalle

      En täältä aio asioita kysellä. Haluan tuoda tiedoksesi, että pohjimmiltani en ihmisiä tahdo satuttaa ja ajattelen muiden
      Ikävä
      81
      974
    10. Oletko tyytyväinen

      Tämän hetkiseen tilanteeseenne? Odotatko, että lähennytte vai yritätkö päästä yli ja eteenpäin?
      Ikävä
      79
      873
    Aihe