Gestione messaggi di excel
Hai un problema con 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)" |
Vuoi Approfondire?