Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

Date in un GRAFICO_Formato asse AUTOMATICO

  • Messaggi
  • OFFLINE
    watera
    Post: 40
    Registrato il: 26/02/2018
    Città: ROMA
    Età: 33
    Utente Junior
    Excel 2010
    00 21/05/2018 15:17
    Ragazzi buonasera a tutti!!
    Con l'aiuto di voi sul forum sono riuscito a creare alcune schede per la gestione dei progetti.
    Avrei però ancora un problema da risolvere riguardo l'asse orizzontale del grafico. Al momento vengono rappresentate sul grafico le date in E13:E30 ma la data di inizio sono costretto a metterla manualmente (es.marzo 2017) mentre la data di fine viene dimensionata con l'ultima data presente in E13:E30.
    Il problema dipende dal fatto che alcune celle Data rimangono vuote e pertanto Excel assegna a tali celle la data del 0/01/1900: il grafico viene così dimensionato in "automatico" a partire dal 1900!!

    Esiste quindi un modo per dimensionare automaticamente il grafico soltanto con le date inserite (data min-data max) ignorando le celle vuote?

    Spero proprio che qualcuno riesca ad aiutarmi!

    Grazie a tutti!!

  • OFFLINE
    Marius44
    Post: 568
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Senior
    Excel2019
    00 21/05/2018 17:04
    Ciao
    Innanzi tutto complimenti per l'ottimo lavoro.
    Per adattare automaticamente l'asse delle ascisse usa questa macro (che puoi associare ad un evento del foglio)

    Sub FormattaAsseX()
        Dim mn As Double, mx As Double
        mn = Application.WorksheetFunction.Min(Range("E13:E30"))
        mx = Application.WorksheetFunction.Max(Range("E13:E30"))
        ActiveSheet.ChartObjects("Grafico 2").Activate
        With ActiveChart.Axes(xlValue)
            .MinimumScale = mn
            .MaximumScale = mx
        End With
    End Sub
    


    Fai sapere. Ciao,
    Mario
  • OFFLINE
    watera
    Post: 40
    Registrato il: 26/02/2018
    Città: ROMA
    Età: 33
    Utente Junior
    Excel 2010
    00 22/05/2018 10:29
    Ciao Marius e grazie tante per la macro!!
    Come faccio ad assegnarla ad un evento del foglio?
    Ho provato ad inserirla in un nuovo modulo ma non funziona...

    Grazie!
    A.
  • OFFLINE
    alfrimpa
    Post: 3.751
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 22/05/2018 10:44
    A quale evento del foglio vuoi assegnare il codice di Mario?

    Le procedure "evento" non vanno inserite in un modulo standard ma nel modulo del foglio interessato.
    [Modificato da alfrimpa 22/05/2018 10:45]

    Alfredo
  • OFFLINE
    watera
    Post: 41
    Registrato il: 26/02/2018
    Città: ROMA
    Età: 33
    Utente Junior
    Excel 2010
    00 22/05/2018 10:48
    Ciao alfrimpa,
    non lo so...cercavo ci capire l'indicazione di Marius
    "Per adattare automaticamente l'asse delle ascisse usa questa macro (che puoi associare ad un evento del foglio)"

    Ora provo ad inserire la macro nel modulo del foglio interessato!

    Grazie!
  • OFFLINE
    Marius44
    Post: 569
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Senior
    Excel2019
    00 22/05/2018 10:49
    Ciao
    Fai così:
    Alt+F11 (apri l'Editor di Visual Basic),
    doppio click sul nome del foglio che vedi nella parte sinistra,
    copia/incolla la macro modificata come appresso
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("E13:E30")) Is Nothing Then
        Dim mn As Double, mx As Double
        mn = Application.WorksheetFunction.Min(Range("E13:E30"))
        mx = Application.WorksheetFunction.Max(Range("E13:E30"))
        ActiveSheet.ChartObjects("Grafico 2").Activate
        With ActiveChart.Axes(xlValue)
            .MinimumScale = mn
            .MaximumScale = mx
        End With
    End If
    End Sub
    


    Ogi volta che una data viene modificata l'asse delle ascisse viene adattato.

    Fai sapere. Ciao,
    Mario
  • OFFLINE
    watera
    Post: 42
    Registrato il: 26/02/2018
    Città: ROMA
    Età: 33
    Utente Junior
    Excel 2010
    00 22/05/2018 11:41
    Funziona alla grande!
    Grazieeeee!
    Qui sul forum siete fantastici!
  • OFFLINE
    watera
    Post: 43
    Registrato il: 26/02/2018
    Città: ROMA
    Età: 33
    Utente Junior
    Excel 2010
    00 22/05/2018 11:49
    Ragazziii soltanto una cosa,
    quando vado a svuotare la tabella B13:F30 cancellando il contenuto delle celle (ad eccezione della colonna D13:D30 che serve per graficare le etichette) mi rimane una fila di etichette con data gennaio 1900...come faccio a eliminare questa impostazione e visualizzare la tabella completamente vuota?

    Grazie ancora!
    A.
  • OFFLINE
    Marius44
    Post: 570
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Senior
    Excel2019
    00 22/05/2018 11:50
    Grazie a te per riscontro.
    Ciao e ... alla prossima,
    Mario
  • OFFLINE
    watera
    Post: 44
    Registrato il: 26/02/2018
    Città: ROMA
    Età: 33
    Utente Junior
    Excel 2010
    00 22/05/2018 12:07
    Ciao Marius!
    sapresti rispondermi anche all'ultima domanda?
    (che evidentemente non hai visto in quanto l'ho scritta subito dopo i ringraziamenti!)
    [SM=x423038]
  • OFFLINE
    Marius44
    Post: 571
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Senior
    Excel2019
    00 22/05/2018 12:37
    Ciao
    Metti un altro pulsante di comando e assegna questo codice
    Private Sub CommandButton2_Click()
      Range("B13:B30,E13:F30").ClearContents
    End Sub
    


    Provato. A me non rimane nulla nel Grafico. Restano, però, le diciture delle Convalida dati. Non mancherà a te aggiustarle.

    Ciao,
    Mario
  • OFFLINE
    watera
    Post: 45
    Registrato il: 26/02/2018
    Città: ROMA
    Età: 33
    Utente Junior
    Excel 2010
    00 22/05/2018 13:32
    Ma in questo modo andrei solamente a cancellare i campi in colonna B ed E...in realtà dovrei cercare di togliere la fila di etichette rosse che resta nel grafico quando i campi sono vuoti e scompare appena viene immessa una data.
    Allego screen.

    Grazie ancora Marius!
  • OFFLINE
    Marius44
    Post: 572
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Senior
    Excel2019
    00 22/05/2018 16:02
    Ciao
    Ti allego il file nel quale ho inserito un pulsante ("Cancella dati").
    Cliccaci sopra e vedrai che nel Grafico non appare nulla.

    Ciao,
    Mario
  • OFFLINE
    watera
    Post: 46
    Registrato il: 26/02/2018
    Città: ROMA
    Età: 33
    Utente Junior
    Excel 2010
    00 22/05/2018 16:41
    Marius,
    avevo già provato ad inserire il pulsante per eliminare i campi contenuti nell'istruzione della macro...i campi vengono cancellati ma la colonna di etichette rosse nel grafico rimane sempre!
    Questa dipende dalla serie di "1" inseriti in D13:D130 che determina la lunghezza dell'etichetta...non so perché prima di inserire la macro di stamattina non avevo questo problema ed ora si!
    [SM=x423023]
  • OFFLINE
    Marius44
    Post: 574
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Senior
    Excel2019
    00 22/05/2018 20:26
    Ciao
    Hai provato il file che ti ho allegato?
    A me non fa quell'effetto che dici. Il Grafico è vuoto.

    Ciao,
    Mario
    [Modificato da Marius44 22/05/2018 20:27]
  • OFFLINE
    watera
    Post: 51
    Registrato il: 26/02/2018
    Città: ROMA
    Età: 33
    Utente Junior
    Excel 2010
    00 03/07/2018 11:19
    Ragazzi eccomi di nuovo a richiedere un piccolo aiuto!

    Ho aggiunto una colonna (E13:E30) al precedente file Excel per mostrare il numero di giorni compreso tra la data di OGGI (riportata in cella Q32) e le date che verranno inserite man mano che la scheda verrà compilata (E13:E30).
    Ho applicato la formula =SE.NON.DISP.($Q$32-D13;"") a tutto il range ma per i campi in cui la data non è inserita imposta un valore numerico di default.

    Come faccio a lasciare i campi in E13:E30 sempre vuoti e far si che la formula sopra venga attivata soltanto quando viene inserita una data in D13:D30?

    In allegato il file Excel.

    Grazie come sempre a tutti per l'aiuto!! [SM=x423028]