Nelle mie prove sul secondo grafico, modificando Tipo asse da "Asse data" ad "Asse testo" la granularita' ritorna al livello normale, visualizzando una curva come da attese.
Ho aggiunto poi su colonna P di captazione il marker di settimane usando in P10 e sottostanti la formula
- Codice: Seleziona tutto
=SE(NUM.SETTIMANA(L10)<>NUM.SETTIMANA(L9);MAX(O:O);ERRORE.TIPO(7))
e ho inserito questa serie nel grafico, impostando il formato grafico di questa serie come barre verticali.
Il risultato e' questo:
Uploaded with
ImageShack.usIn realta' le etichette sui weekmarker li ho dovuti impostare con questa macro:
- Codice: Seleziona tutto
Sub SetS2Label()
Dim SerVal, myGraph As String, mySerie As Long
'
myGraph = "Grafico 7" '<<<
mySerie = 2 '<<<
'
ActiveSheet.ChartObjects(myGraph).Activate
SerVal = ActiveChart.SeriesCollection(mySerie).Values
For I = LBound(SerVal) To UBound(SerVal)
Application.ScreenUpdating = False
DoEvents
If IsError(SerVal(I)) Then
ActiveChart.SeriesCollection(mySerie).Points(I).ApplyDataLabels AutoText:=True, _
LegendKey:=False, ShowSeriesName:=False, ShowCategoryName:=False, _
ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False
ElseIf SerVal(I) <> 0 Then
ActiveChart.SeriesCollection(mySerie).Points(I).ApplyDataLabels AutoText:=True, _
LegendKey:=False, ShowSeriesName:=False, ShowCategoryName:=True, _
ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False
'
ActiveChart.SeriesCollection(mySerie).Points(I).DataLabel.Select
Selection.AutoScaleFont = True
With Selection.Font
.Size = 8
.ColorIndex = xlAutomatic
.Background = xlAutomatic
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
.Position = xlLabelPositionInsideEnd
.Orientation = xlUpward
End With
Else
ActiveChart.SeriesCollection(mySerie).Points(I).ApplyDataLabels AutoText:=True, _
LegendKey:=False, ShowSeriesName:=False, ShowCategoryName:=False, _
ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False
End If
Next I
ActiveWindow.Visible = False
ActiveWindow.RangeSelection.Select
Application.ScreenUpdating = True
'
End Sub
Infatti da comandi si riesce a impostare (praticamente) la visualizzazione delle label su tutti i punti della serie, mentre a noi interessano solo i punti diversi da Zero.
Le istruzioni marcate <<< potrebbero dover essere personalizzate
Ho fatto le prove su XL2010, spero che la compatibilita' con 2013 sia alta.
Per quanto riguarda la visualizzazione parziale dei dati, se non riesci a trovare la quadra allora io suggerirei di creare 3 range dinamici corrispondenti alle etichette di asse X (colonna L), alla quota falda (colonna O) e al weekmarker (colonna P); userai poi questi intervalli come riferimenti alle serie da plottare.
Fai sapere, ciao.