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

180

    Vastaukset 7

    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. Olivia Oras

      "Yle MOT:n tietojen mukaan Oras oli joutunut sairaalahoitoon helsinkiläisellä kauneusklinikalla tehdyn rasvaimun yhteyde
      Kotimaiset julkkisjuorut
      113
      1613
    2. Sanoppa ihan rohkeasti

      Mun huonot puolet! En suutu…
      Ikävä
      126
      992
    3. MOT: Nuoren Olivia Oraksen, 27 surullinen kuolema kauneusoperaatiossa :(

      MOT:n tietojen mukaan Oras menetti tajuntansa rasvaimua edeltäneessä puudutuksessa. Hänet kuljetettiin Husiin, ja hän ku
      Maailman menoa
      104
      943
    4. Koska muru nähdään

      Kaksin?
      Ikävä
      47
      941
    5. Haluatko että unohdan sinut kokonaan

      Siihen suuntaan ollaan menossa, nyt jo. Ja ehkä parempi näin, niin ei kulu energiaa hukkaan mahdottomuuteen. Ja vaikka j
      Ikävä
      57
      787
    6. Minä vuonna kaivittusi on syntynyt?

      Vastausta tässä kaivataan.
      Ikävä
      45
      652
    7. Pelkäätkö häntä?

      👍
      Ikävä
      64
      632
    8. Ylen typerät rinnastukset.

      Näin YLE…..Saksassa ei ole äärioikeisto ollut vallassa sitten Hitlerin . YLEn toimittajille tiedoksi . Hitler oli Saksan
      Maailman menoa
      236
      618
    9. Olit mulle tärkeä...

      😭
      Ikävä
      34
      617
    10. Millä nimellä

      kutsut kaivattuasi omassa mielessäsi?
      Ikävä
      34
      591
    Aihe