La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buonasera a tutti,
come da titolo, esiste un qualche modo per automatizzare i valori dei limiti min e max di un'asse in un grafico in base ai valori di riferimento che uno inserisce?
Allego un video per spiegarmi meglio ed il file in questione se dovesse servire.
Potrei lasciare di default dei valori limite molto alti e bassi così da far entrare le linee dei dati nel grafico ma, siccome si tratta di dati meteo per vari confronti, mi serve purtroppo che il grafico sia zoomato (se così posso dire) il più possibile.
Intanto grazie mille a tutti in anticipo e soprattutto a @gianfranco55 che mi ha agevolato e snellito questo file facendomi risparmiare ore di tempo ad elaborare i dati.
Buona serata
Ciao
Penso che, forse, era meglio inserire questa discussione nella Sezione dei Grafici visto l'argomento (poichè non sono bravo con le formule, mi stava sfuggendo).
I Grafici sono "una brutta bestia" (è un modo di dire. Per me sono simpaticissimi ? ) ed hanno tutto un loro mondo. Certoche si può fare quello che chiedi ma occorre VBA.
Un suggerimento (ma il risultato sarà poi da "sgrossare"): aziona il registratore di macro e rifai quello che mostri nel tuo video. Alla fine blocca la registrazione. Se fai ALT+F11 vedrai il tuo codice bello e pronto. Assegnalo ad un pulsante e ogni volta che ci cliccherai sopra il grafico si adegua.
Prova (potrei fartelo ma non impareresti) e, se hai bisogno, siamo qui.
Ciao,
Mario
Ciao
Penso che, forse, era meglio inserire questa discussione nella Sezione dei Grafici visto l'argomento (poichè non sono bravo con le formule, mi stava sfuggendo).
I Grafici sono "una brutta bestia" (è un modo di dire. Per me sono simpaticissimi ? ) ed hanno tutto un loro mondo. Certoche si può fare quello che chiedi ma occorre VBA.
Un suggerimento (ma il risultato sarà poi da "sgrossare"): aziona il registratore di macro e rifai quello che mostri nel tuo video. Alla fine blocca la registrazione. Se fai ALT+F11 vedrai il tuo codice bello e pronto. Assegnalo ad un pulsante e ogni volta che ci cliccherai sopra il grafico si adegua.
Prova (potrei fartelo ma non impareresti) e, se hai bisogno, siamo qui.
Ciao,
Mario
Ciao e scusa per la svista della sezione apposita.
Ho appena provato a seguire il tuo suggerimento:
-ho avviato la registrazione macro
-ho interrotto (per ora giusto il primo grafico per prova)
-ho assegnato la macro ad un tasto (es. ctrl+t)
solo che se vado a salvare il file mi appare questo avviso e non so che formato devo mettere dopo che clicco su "no", tra quelli proposti in "salva come".
Intanto grazie
Ciao
Certo. I file con macro hanno un'estensione diversa, cioè .xlsm
Devi salvare cambiando il tipo di file in file con macro (mi pare che sia il secondo in elenco).
Ma non mi hai detto se quanto registrato funziona.
Ciao,
Mario
PS - quando rispondi non "quotare" (se non necessario) altrimenti la discussione diventa un TOMO illeggibile.
Allora, sono riuscito a salvare il file poi ho effettuato varie prove e le macro richiamabili da tasto assegnato sono veramente fighe, solo che mi mantiene i limiti dei valori che ho impostato al momento delle creazioni delle stesse, non si autoadatta purtroppo.
PS: scusami hai pienamente ragione in effetti ?
Ciao
Come posso darti una risposta se non "vedo" il codice e/o il file?
Allega il file e spiega chiaramente cosa sono i "limiti" a cui ti riferisci e, principalmente, cosa vuoi ottenere.
Ciao,
Mario
Si in effetti ho preteso troppo ? senza file.
Ti descrivo come dovrebbero essere i valori per visualizzare correttamente i grafici, sperando che riesco a spiegarmi. Comunque nel file allegato ho messo i valori dei grafici non corretti (in modo da farti vedere se ho creato bene le macro e perché non si autoadattano), con le 3 macro che ho creato su un differente giorno ma che, come mi hai spiegato, posso richiamare con combinazione tasti.
Per il 1° grafico alla macro ho assegnato Ctrl+t
Per il 2° grafico alla macro ho assegnato Ctrl+s
Per il 4° grafico alla macro ho assegnato Ctrl+h
(Il 3° e 5° grafico ancora li devo vedere e correggere)
1° Grafico "TEMPERATURE">MACRO_temp
Opzioni assi>Asse Verticale
limiti minimo 5,5 (Questo valore deve far vedere il picco minimo delle 2 linee rossa e blu) limiti massimo 12,0 (Questo valore deve far vedere il picco massimo delle 2 linee rossa e blu)
Opzioni assi>AsseSecondario
limiti minimo 0,0 (Questo deve essere sempre 0)
limiti massimo 450,0 (Questo valore deve far vedere il picco della linea gialla)
---------------------------------
Grafico "BARANI vs APOGEE_DIY">MACRO_scostamento
Opzioni assi>Asse Verticale
limiti minimo -1,15 (Questo quando il picco massimo della linea arancio è sotto la linea blu, il valore deve stare almeno a 0,05. Se il picco della linea arancio va sopra la line blu, il valore deve essere al di sopra in modo da vedersi)
limiti massimo 0,25 (Questo valore deve far vedere il picco inferiore della linea arancio)
-------------------------------------
Grafico "HUMIDITY">MACRO_humidity
Opzioni assi>Asse Verticale
limiti minimo 15,0 (Questo valore deve stare al di sotto delle 2 linee blu e arancio in modo da vedersi)
limiti massimo 55,0 (Questo valore idem, deve far vedere il picco massimo delle 2 linee blu e arancio )
Grazie ancora per il supporto
Ciao
Ho visto le macro. Vedi di correggerle così (per me fanno il proprio lavoro)
Ho commentato alcune parti che sono superflue.
Ciao,
Mario
PS per il resto vedrò appena posso.
Ciao,
si il lavoro lo fanno ma non si auto adattano ai nuovi dati che i grafici prendono dalle relative tabelle.
Comunque non ho capito quali parti superflue hai commentato...mi sono perso qualcosa oppure non mi hai allegato il file? ?
Comunque tranquillo senza impegno, ci sto sbattendo da mesi e già con te ho imparato una nuova cosa.
Buona serata
Ciao
C'è qualcosa di strano nel sistema che non mi consente di mostrare i codice. Ho rifatto il tutto per il primo Grafico (temperature) che, spero, di poter allegare. Vedi se va bene e, al caso, segui gli steps per gli altri grafici.
Ciao,
Mario
Ciao e scusa il ritardo ma ho avuto un problema alla scheda video. Ho appena aperto il tuo file e ho visto al volo il codice che hai modificato, domani con calma me lo studio e faccio le modifiche e le prove negli altri grafici e ti faccio sapere.
Grazie e buona serata
Ciao,
ho appena finito di studiarmi il codice nalla tua macro e di fare delle prove.
Sei un grande, il tutto funziona e sono riuscito ad adattare la macro anche agli altri grafici.
Il grafico un pò più ostico è il n° 3 "BARANI vs APOGEE_DIY" (ma il secondo tra i grafici) che, a seconda dei dati importati, per come ho adattato il tuo codice, la linea blu quando quella arancio è al di sotto di essa, non viene mostrata naturalmente, mentre io vorrei (se non chiedo l'impossibile naturalmente altrimenti va bene ugualmente) che fosse visibile anche in quella condizione come punto di riferimento.
Allego gli screeshot delle varie casistiche che possono capitare per farti rendere meglio conto e i file (corrispondenti le giornate degli screenshot) con la macro tua e le restanti da me modificate.
Buona serata
Ciao
Non capisco.
Prendiamo il caso della data 9/2/22: le due serie "sembrano" sovrapporsi perchè una è formata solo da 0 (tanti seri come da col.AH) e l'altra è formata dalla media che è -0,4958 (come da col.AN). Poichè hai impostato il valore massimo a -0,099999) la linea degli zero non si vede perchè è fuori quadro.
Lasciando da parte la serie sull'asse secondario prova con questa macro (a me dà il risultato corretto - almeno credo). Fai sapere. Ciao,
Mario
Sub Scostam_Marius() ur = Sheets("Dati").Cells(Rows.Count, 1).End(xlUp).Row 'ultima riga valorizzata mnArancio_Blu = Application.WorksheetFunction.Min(Sheets("Dati").Range("AH3:AI" & ur)) mxArancio_Blu = Application.WorksheetFunction.Max(Sheets("Dati").Range("AH3:AI" & ur)) ActiveSheet.ChartObjects("Grafico 3").Activate ActiveChart.Axes(xlValue).MinimumScale = mnArancio_Blu ActiveChart.Axes(xlValue).MaximumScale = mxArancio_Blu End Sub
Ciao
ho appena testato il tuo codice su più giorni con le varie casistiche e funziona perfettamente.
Tornare dal lavoro e vedere come con la conoscienza si possono ottimizzare i tempi è fantastico.
Ora provo ad applicare i vari codici all'ultimo grafico pivot (ultimo in lista), con zero dati ancora purtroppo ma, già rognoso in fase di crezione. Spero di riuscire e capire la logica del codice senza disturbarti ancora, nel caso prima di chiudere e mettere come risolto il post posso ancora chiederti l'ultimo aiutino in quest ultimo?
Per ora ti ringrazio infinitamente
Buona serata
Pierluigi
Ciao
Son contento di esserti stato d'aiuto. Se hai bisogno, siamo qui.
Ciao,
Mario