2013-10-02 62 views
0

我將EXCEL 2003應用程序轉換爲EXCEL 2010.數據顯示正常,但軸線不再顯示。哪個函數用自動標度顯示軸?Excel 2010 Chart軸線未顯示

例如:如果在Excel折線圖中繪製以下系列。 [0.22,0.33,0.44,0.55,0.66,0.77,0.88,0.99,1.1,1.21,1.32,1.43,1.54,1.65,1.76,1.87,1.98,2.09,2.2] Excel確定y軸值應該是[ 0,0.5,1,1.5,2,2.5] [How does Excel determine the axis values for charts?1。如何使用圖表中顯示的自動值[0,0.5,1,1.5,2,2.5]來製作y軸?

感謝

與相關的代碼更新 -

With ActiveChart 
     .SeriesCollection(2).Select 
     '.SeriesCollection(2).AxisGroup = 2 

     .HasTitle = True 
     .ChartTitle.Text = OutputTitle & Chr(10) & ChartTitle2 
     .Axes(xlValue).HasTitle = True 
     .Axes(xlValue).AxisTitle.Text = AxisTitle1 
     .Axes(xlValue).AxisTitle.Font.Bold = False 
     .HasAxis(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary) = True 
     .Export Filename:=ExportFile, FilterName:="GIF" 
End with 

如果我取消」 .SeriesCollection(2).AxisGroup = 2,我會得到y軸顯示,但在x軸標籤混亂與價值觀不匹配。

電流圖表 - enter image description here

與經縮放的軸線的多個期望圖表所示 - enter image description here

回答

2

爲了確保軸在使用這樣的:

With xlApp.ActiveChart 
     .HasAxis(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary) = True 
End With 

值的範圍是自動除非另有說明,如下所示:

' Set Axis Scales 
    With xlApp.Charts("Chart Name").Axes(2) 
     .MinimumScale = 100 
     .MaximumScale = 2000 
     .MajorUnit = 1000 
     .MinorUnit = 100 
    End With 

只是要多一點完整儘量多地涉及每個值和類別,看看有沒有什麼幫助。

With xlApp.ActiveChart 
    .SeriesCollection(1).XValues = "='sheet name'!R21C4:R46C4" 
    .SeriesCollection(1).Values = "='sheet name'!R21C5:R46C5" 
    .SeriesCollection(1).Name = "='series name'" 
    .SeriesCollection(1).axisgroup = Excel.XlAxisGroup.xlPrimary 
    .HasAxis(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary) = True 
    .HasAxis(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary) = True 
    .Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary).HasTitle = True 
    .Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary).AxisTitle.Characters.Text = "x axis" 
    .Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary).HasTitle = True 
    .Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary).AxisTitle.Characters.Text = "y axis" 
End With 

我看到你的軸組設置爲2,您使用的雙軸?

設置這樣的:

.SeriesCollection(2).axisgroup = Excel.XlAxisGroup.xlPrimary 

* 編輯 *

設置自動定標在軸:

.Axes(xlValue).MinimumScaleIsAuto = True 
.Axes(xlValue).MaximumScaleIsAuto = True 
.Axes(xlValue).MinorUnitIsAuto = True 
.Axes().MajorUnitIsAuto = True 
.Axes().DisplayUnit = xlHundreds 
+0

感謝您的快速反應!我試過了,但沒有奏效。我用相關代碼更新了我的問題。你能否看看這部分代碼,看看你是否發現問題。謝謝 – Don

+0

再次編輯,我認爲你的問題與註釋掉的行是2.你是否打算把它設置爲一個雙軸圖表?將它更改爲我在Excel.XlAxisGroup.xlPrimary –

+0

中顯示的行中,當我註釋掉.SeriesCollection(2).axisgroup = 2時,它應該默認爲.SeriesCollection(2).axisgroup = Excel.XlAxisGroup.xlPrimary。根據您在此處提出的建議,我仍有問題需要解決。但我確實看到X,Y軸表顯示,但沒有顯示比例尺。我在編輯中附加了當前的圖表和期望的圖表。我需要手動縮放它嗎? Excel 2003圖表會自動爲我執行此操作。爲什麼不是2010年? – Don