Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
I couldn't understand the lines between 35-42, why he thought the
dbMinScale after the change is the one he want. What the logic of this code section. Any one who could understand please help me. thanks in advance!:) Private Sub USP_SetYAxesScal(ByVal i_strWSName As String, ByVal i_strChartName As String, Optional ByVal i_intDecimal As Integer = 2) Dim dbMaxScale As Double, dbMinScale As Double, i As Integer, j As Integer Dim xTargetChart As Chart, vTemp() As Variant, blnInit As Boolean, dbMax As Double, dbMin As Double 1 On Error Resume Next 'get max/min of chart-values 2 dbMax = 0: dbMin = 0: blnInit = False 3 Set xTargetChart = Sheets(i_strWSName).ChartObjects(i_strChartName).C hart 4 For i = 1 To xTargetChart.SeriesCollection.Count '************* ERR *************** 5 vTemp = xTargetChart.SeriesCollection(i).Values 'xTargetChart.SeriesCollection(i).Points 6 If UFG_IsArray(vTemp) Then 7 If blnInit = False Then 8 For j = LBound(vTemp) To UBound(vTemp) 9 If IsNumeric(vTemp(j)) Then 10 dbMax = vTemp(j) 11 dbMin = vTemp(j) 12 blnInit = True 13 Exit For 14 End If 15 Next j 16 End If 17 For j = LBound(vTemp) To UBound(vTemp) 18 If IsNumeric(vTemp(j)) Then 19 If vTemp(j) dbMax Then 20 dbMax = vTemp(j) 21 End If 22 If vTemp(j) < dbMin Then 23 dbMin = vTemp(j) 24 End If 25 End If 26 Next j 27 End If 28 Next i 'if data err... eg.min or max <0 29 If dbMin < 0 Then 30 dbMin = 0 31 End If 32 If dbMin = dbMax Then 33 dbMax = dbMin + 1 34 End If 'get min/max of Yscale 35 dbMaxScale = Round(dbMax * 1.1) + 1 36 dbMinScale = dbMin - dbMax * 0.1 37 If dbMinScale < 0 Then 38 dbMinScale = 0 39 Else 40 dbMinScale = (dbMinScale \ 5) * 5 41 End If 42 dbMinScale = Round(dbMinScale, i_intDecimal) 'set chart 43 With xTargetChart.Axes(xlValue) 44 .MinimumScale = dbMinScale '.MaximumScale = dbMaxScale 45 .MaximumScaleIsAuto = True 46 .MinorUnitIsAuto = True 47 .MajorUnitIsAuto = True 48 .Crosses = xlCustom 49 .CrossesAt = dbMinScale 50 .ReversePlotOrder = False 51 .ScaleType = xlLinear 52 .DisplayUnit = xlNone 53 End With 54 Set xTargetChart = Nothing 55 Erase vTemp 56 On Error GoTo 0 57 Exit Sub USP_SetYAxesScal_Error: 58 UFG_ErrHandler ERR_PROGRAMMERR, "clsCP_WorkBookBuilder.USP_SetYAxesScal", ERR_PROGRAMMERR_textID 'USG_TraceError uvg_xOwnTrace, "clsCP_WorkBookBuilder","USP_SetYAxesScal" End Sub |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Linking axes scale values to cells | Charts and Charting in Excel | |||
2 Axes, same scale wanted | Charts and Charting in Excel | |||
How do I scale excel chart axes from vb? | Charts and Charting in Excel | |||
Locking gridlines to be square - axes to same scale ? | Charts and Charting in Excel | |||
Change Axes Scale Dynamically | Charts and Charting in Excel |