Risolto Grafico a barre variabile

mad73

Utente junior
Original poster
17 Novembre 2021
71
0
6
Excel 2019
Ho un grafico a barre che prende i dati delle ordinate dalla colonna A (nominativi) ed i dati sulle ascisse dalla colonna C (giorni). La colonna A resta ordinata così com'è, mentre la C viene aggiornata. Vorrei che il relativo grafico a barre orizzontali potesse variare dinamicamente in modo da ordinare i dati in modo decrescente. È possibile? Spero di essere stato chiaro
 

Marius44

VBA Expert
Expert
Staff
9 Settembre 2015
9.715
1.113
245
80
Catania
Excel2019
Ciao
Credo occorra il tuo file (senza dati sensibili) per capire che tipo di Grafico hai inserito.

Ciao,
Mario
 

mad73

Utente junior
Original poster
17 Novembre 2021
71
0
6
Excel 2019
Chiedo scusa, eccolo. In sostanza, mentre la parte coi dati resta ordinata in base ai nomi, la parte col grafico dovrebbe variare ed ordinarsi in base ai giorni
 

Allegati

  • grafico.xls
    33 KB · Visite: 3

Marius44

VBA Expert
Expert
Staff
9 Settembre 2015
9.715
1.113
245
80
Catania
Excel2019
Ciao
Assegna ad un pulsante (non ActiveX) questa macro e vedi se è quello che cerchi:
Visual Basic:
Option Explicit

Sub Riordina()
'assegna i dati a variabili
'riordina le variabili dei valori numerici
'assegna al grafico dette variabili

Dim ur As Long, i As Long, j As Long
Dim asX(), asY(), temp1, temp2
ur = Cells(Rows.Count, 3).End(xlUp).Row
ReDim asX(1 To ur - 3)
ReDim asY(1 To ur - 3)
For i = 6 To ur
  asX(i - 3) = Cells(i, 1)
  asY(i - 3) = Cells(i, 3)
Next i
For i = 1 To UBound(asX) - 1
  For j = i To UBound(asX)
    If asY(i) < asY(j) Then
      temp1 = asY(i)
      temp2 = asX(i)
      asY(i) = asY(j)
      asX(i) = asX(j)
      asY(j) = temp1
      asX(j) = temp2
    End If
  Next j
Next i
ActiveSheet.ChartObjects(1).Activate
With ActiveChart
  .SeriesCollection(1).Values = Array(asY())
  .SeriesCollection(1).XValues = Array(asX())
End With
Cells(1, 1).Select
End Sub
Fai sapere. Ciao,
Mario

PS - Il codice te l'ho dato ma mi piacerebbe sapere se sei in grado di gestirlo. Grazie.
 

mad73

Utente junior
Original poster
17 Novembre 2021
71
0
6
Excel 2019
Funziona, ti ringrazio. Sarebbe stato bello postesse riordinarsi automaticamente, senza pulsanti o macro, ma va benissimo anche così
 

Marius44

VBA Expert
Expert
Staff
9 Settembre 2015
9.715
1.113
245
80
Catania
Excel2019
Ciao
Prova ad utilizzare l'Evento WorkSheet_Change legata alle celle del Foglio che variano e quindi richiama la sub.

Ciao,
Mario