Sviluppare funzionalita su Microsoft Office con VBA modificare colori di un grafico

Login Registrati
Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
  • Autore
    Articoli
  • #53968 Score: 0 | Risposta

    frank_ciccio
    Partecipante
      3 pts

      Ciao a tutti.

      Il grafico allegato è dinamico.

      Non è mio ma è di un collega che ora è in pensione.

      Non capisco dove si impostano i colori delle colonne

       

      la colonna 1 = ore previste

      la colonna 2 = ore lavorate totali

      la colonna 3 = ore 00

      la colonna 4 = ore 02

      la colonna 5 = ore 03

      la colonna 2 varia il colore se maggiore della colonna 1 rosso
      la colonna 2 varia il colore se minore della colonna 1 verde
      la colonna 2 varia il colore se ugualer della colonna 1 giallo

      come sono impostati i colori?

      Grazie

       

       

       

       

      #53970 Score: 0 | Risposta

      frank_ciccio
      Partecipante
        3 pts

        E' questa macro in

        Private Sub Worksheet_Change(ByVal Target As Range) '10 RIGHE

         

        '-------------------------------------------------------------------------------
        On Error Resume Next
        Set xChart = ActiveSheet.ChartObjects("Grafico 1").Chart '<<< nome grafico
        If xChart Is Nothing Then Exit Sub

        With xChart.SeriesCollection(2) '<<< numero colonna da colorare
        Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(1), "!")(1))
        xRows = xRg.Rows.Count
        Set xRg = xRg(1)
        For I = 1 To xRows
        .Points(I).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xRg.Offset(I - 1, 0).Interior.ColorIndex)
        Next
        End With

        'End Sub
        '-------------------------------------------------------------------------------

        che colora la colonna 2

        i colori li preleva dalle righe

        ma non capisco quali sono nella macro

        #53971 Score: 0 | Risposta

        Raffaele53
        Partecipante
          23 pts

          A riguardo di https://www.excelvba.it/forumexcel/forums/discussione/modifica-grafico/

          Non hai nulla da aggiungere?

          #53973 Score: 0 | Risposta

          Raffaele53
          Partecipante
            23 pts

            In I9:I18 ci sono delle Formattazioni Condizionali. In base al numero immesso in colonna D9:D18 si colorano di verde, rosso, giallo
            Da qui si avvia in Foglio(10r2) il Worksheet_Change che colora la rispettiva riga da colonna B sino H
            Alla fine avvia Sub ColorChartColumnsbyCellColor() che avendo modificato valori ho aggiunto altre righe, colora la rispettiva colonna nel grafico (gran bel grafico)

            #53974 Score: 0 | Risposta

            frank_ciccio
            Partecipante
              3 pts

              Grazie raffaele53.

              Ma nella macro

              Set xChart = ActiveSheet.ChartObjects("Grafico 1").Chart '<<< nome grafico

              quale è la parte di macro che dice di colorare la colonna 2?

              #53975 Score: 0 | Risposta

              Raffaele53
              Partecipante
                23 pts

                Sarebbe meglio che dici cosa intendi fare?
                Come scritto il colore viene assegnato dalla FC in I9:I18
                Ora aggiungi a seguire da B11= BBB bbbbb 300 100,00 100,00 100,00 300,00
                La cella I11 diventa gialla e avvia iL Worksheet_Change, il quale colora le righe tramite
                >>>Case "mag"
                >>>.color = RGB(255, 40, 0) 'rosso 'RGB(255, 40, 0) 'rosso 'vbRed
                >>>Case "min"
                >>>.color = RGB(120, 255, 0) 'verde 'RGB(120, 255, 0) 'verde 'vbGreen
                >>>Case "ugu"
                >>>.color = RGB(255, 255, 0) 'giallo 'RGB(255, 255, 0) 'giallo 'vbYellow
                Quando fatto prosegue ( sempre nel foglio"10R2", non nel Modulo5) per colorare la 2°colonna del grafico.
                Notiamo in ordine crescente le righe colorate sono verdi, rosse, gialle = 1,2,3
                Il grafico (dopo l'aggiunta di riga11) avrà tre sezioni e la seconda colonna di ogni grafico viene colorata da
                >>>.Points(I).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xRg.Offset(I - 1, 0).Interior.ColorIndex)

                #53976 Score: 0 | Risposta

                frank_ciccio
                Partecipante
                  3 pts

                  Quindi se ho capito se cambio qui il numero

                  With xChart.SeriesCollection(3) '<<< numero colonna da colorare

                  mi colora secondo le righe dove inserisco i dati la colonna 3 del grafico.

                  #53977 Score: 0 | Risposta

                  frank_ciccio
                  Partecipante
                    3 pts

                    Ho fatto una modifica alla macro per provare.

                    Ho cambiato qui in 3

                    With xChart.SeriesCollection(3) '<<< numero colonna da colorare

                    ora si colora la colonna 3 del grafico come le righe riferite.

                    Non capisco perchè in ogni grafico il colore della colonna 2 non resta fisso come il colore delle colonne 1/4/5

                     

                    Allegati:
                    You must be logged in to view attached files.
                    #53979 Score: 0 | Risposta

                    frank_ciccio
                    Partecipante
                      3 pts

                      Penso sia così

                      nella colonna 2 del primo grafico

                      click destro mouse > formato coordinata

                      riempimento a tinta unita

                      prima era automatico

                      #53980 Score: 0 | Risposta

                      Raffaele53
                      Partecipante
                        23 pts

                        >>> il colore della colonna 2 non resta fisso come il colore delle colonne 1/4/5
                        Premesso che capirti è difficile, era meglio scrivere che volevi la 2° colonna verde?
                        Nel VBA rimetti ...Collection(2), e nelle 6 righe fai in modo che siano tutte verdi
                        Quando tutte le 2° colonne sono verdi, rimetti ...Collection(3)

                        EDIT meglio la Tua soluzione

                        Ps. A cosa è servito spostare il colore dalla 2°colonna?

                        #53981 Score: 0 | Risposta

                        frank_ciccio
                        Partecipante
                          3 pts

                          Grazie raffaele53

                           

                        Login Registrati
                        Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
                        Rispondi a: modificare colori di un grafico
                        Gli allegati sono permessi solo ad utenti REGISTRATI
                        Le tue informazioni: