Gestione messaggi di excel



  • Gestione messaggi di excel
    di mc2nzo84 (utente non iscritto) data: 28/02/2013 08:59:05

    salve a tutti!
    Il mio problema è questo: ho creato un codice vba che genera dei grafici, imposto l'asse y in scala logaritmica ed esce questo messaggio di excel (che non credo sia un messaggio di errore, ma un avviso): "Impossibile tracciare correttamente i valori negativi o uguali a zero nei grafici logaritmici. In una scala logaritmica possono essere interpretati solo valoi positivi".
    Vorrei eliminare tale messaggio, perchè devo generare parecchi grafici e tra ognuno di questi devo premere invio.

    Grazie
     
                Sheets("GRAPH").Select
                ActiveSheet.Shapes.AddChart.Select              'aggiungi il grafico
                With ActiveChart
                    .ChartType = xlColumnClustered              'tipo grafico --> istogramma
                    .SeriesCollection.NewSeries
                    .SeriesCollection(1).Values = Y_list2       'carica i dati dai due array appena creati
                    .SeriesCollection(1).XValues = X_list
                    .SeriesCollection(1).Name = "=""Fatturato"""
                    .SeriesCollection.NewSeries
                    .SeriesCollection(2).Values = Y_list3        'carica i dati dai due array appena creati
                    .SeriesCollection(2).XValues = X_list
                    .SeriesCollection(2).Name = "=""Gross Margin"""
                    .SeriesCollection.NewSeries
                    .SeriesCollection(3).Values = Y_list4        'carica i dati dai due array appena creati
                    .SeriesCollection(3).XValues = X_list
                    .SeriesCollection(3).Name = "=""Provvigione"""
                    .Axes(1).HasTitle = True                    'titoli dei due assi
                    .Axes(1).AxisTitle.Text = "Prezzo vendita"
                    .Axes(2).HasTitle = True
                    .Axes(2).AxisTitle.Text = "Euro"
                    .Axes(xlValue).ScaleType = xlLogarithmic
    
    'ERRORE!!!!!!!!!!!!!!!!!!
    
                    .Axes(xlValue).Select
                    Selection.MinorTickMark = xlOutside
                    .Axes(xlCategory).Select
                    Selection.TickLabels.NumberFormat = "0.0000"    'modifica la formattazione del testo
                    '.Legend.Select                              'elimina la legenda
                    'Selection.Delete
                    .SetElement (msoElementChartTitleAboveChart)    'aggiungi il titolo
                    Selection.Caption = M_Cod(V_i) & " - " & M_Descr(V_i, 1) & " - " & M_Descr(V_i, 3)
                    .ChartTitle.Select
                    Selection.Format.TextFrame2.TextRange.Font.Size = 12
                End With



  • di Vecchio Frac data: 28/02/2013 19:09:48

    Due soluzioni da provare:
    1°) Disabilita gli avvisi di Excel. Istruzione da usare con cautela e sicuramente da ripristinare all'uscita:
    application.DisplayAlerts = False

    2°) Intercetta l'errore e bypassalo (o gestiscilo) con On Error.





  • di mc2nzo84 (utente non iscritto) data: 04/03/2013 14:58:29

    Ho provato con Application.DisplayAlerts, a metterlo in false prima di cambiare scale e riattivarlo subito dopo, ma non sembra funzionare...
    Con il comando on error, faccio solo dei casini, in quanto mi genera degli altri errori...
    ho risolto operando sui dati..

     
    Y_list2 = Log(Y_list2) / Log(10)
    ....
    .Axes(2).AxisTitle.Text = "log_10(Euro)"