2013-04-25 7 views
2

다음 코드는 산점도를 그립니다. 플롯 영역의 크기를 조정하여 x 및 y 축이 항상 자동으로 0에서 시작하지 않고 가장 낮은 값 아래에서 시작되도록하는 우아한 방법이 있습니까? 현재 모든 데이터 포인트는 한쪽 모서리에 묶여 있습니다. 많은 감사합니다! 당신의 Y 범위의 데이터가 세포에있는 경우엑셀 그래프 축 원점 자동 크기 조정

Set cht = ActiveChart 
'GRAPH 1 
    Set rng1 = ActiveSheet.Range(Range("AC13").Offset(jump * 50, 0), Range("AG23").Offset(jump * 50, 0)) 

With ActiveSheet.ChartObjects.Add(Left:=rng1.Left, Width:=rng1.Width, Top:=rng1.Top, Height:=rng1.Height) 
'(Left:=100, Width:=375, Top:=75, Height:=225) 
    .Chart.ChartType = xlXYScatterLines 
    .Chart.HasLegend = False 
    .Chart.Axes(xlCategory).TickLabels.Font.Size = 18 
    .Chart.Axes(xlValue).TickLabels.Font.Size = 18 
    '.Chart.SetSourceData Source:=Range("U13:O40,T13:N40") 
    Set srs = .Chart.SeriesCollection.NewSeries 
      srs.XValues = Range(Range("U13").Offset(jump * 50, 0), Range("U13").Offset(jump * 50, 0).End(xlDown)) 
    srs.Values = Range(Range("T13").Offset(jump * 50, 0), Range("T13").Offset(jump * 50, 0).End(xlDown)) 

End With 
+0

.Chart.SetSourceData를 사용해 볼 수 있습니까? http://msdn.microsoft.com/en-us/library/office/ff841196.aspx – crapple

+0

.SetSourceData는 축 자동 크기 조정에 영향을주지 않습니다. –

답변

2

ActiveSheetB1:B10는 가장 낮은 값의 90 %로 범위를 시작하려면이 같은 코드를 사용할 수 있습니다 (즉, 바로 아래)

Set cht = ActiveChart 
cht.Axes(xlValue).MinimumScale = 0.9 * Application.Min([b1:b10]) 
+1

완벽. 감사. – Mary

+0

이 값을 정수로 사용 하시겠습니까? .Chart.Axes (xlCategory) 사용 .MinimumScale = Int (0.8 * Application.Min (Range ("AL13"), Range ("AL13"). End (xlDown))))) 유사) – Mary

+0

차트를 선택 했습니까? ActiveChart 구문을 사용했는데 코드가 실행되었습니다. – brettdj