2017-07-26 10 views
0

私はチャートを生成しているシートを持っています。私はClustered Column Chartを生成しています。グラフのy軸をパーセンテージに変更したいと思います。 私は以下のコードを試してみましたが、私にエラーが発生しますグラフの軸をパーセンテージに変更する

オブジェクトはこのプロパティまたはメソッドをサポートしていません。

どのように私は軸を変更することができます誰が教えてください。

どれリードが

Sub chartResult() 
Dim rng As Range 
Dim cht As Object 
Set rng = ActiveSheet.Range("B2:H53") 
'ThisWorkbook.Sheets("Result").ChartObjects.Delete 
Set sh = ActiveSheet.Shapes.AddChart 
sh.Select 
Set cht = ActiveChart 
With cht 
.SetSourceData Source:=rng 
.ChartType = xlColumnClustered 
cht.SeriesCollection(1).DataLabels = True 
cht.SeriesCollection(1).DataLabels.NumberFormat = "0.0%" 
End With 
cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(72, 118, 255) '<~~ Red 
cht.SeriesCollection(2).Format.Fill.ForeColor.RGB = RGB(255, 0, 0) 
cht.SeriesCollection(3).Format.Fill.ForeColor.RGB = RGB(0, 255, 0) 
cht.HasTitle = True 
cht.ChartTitle.Text = "Result 2017" 
End Sub 
+0

) stackoverflow.com/questions/30403073/chart-axis-label-format-vba-settings) – Masoud

答えて

1

はまた、このcht.Axes(xlSecondary).TickLabels.NumberFormat = "0.0%"の代わりcht.SeriesCollection(1).DataLabels.NumberFormat = "0.0%"

を試してみてください参考になるあなたが望むなら、あなたはwith文のcht内部をドロップすることができます。これは冗長ですが、コードに問題を引き起こしてはいけません。

1

私は次のようにそれを修正した別の行にエラーが発生しました:;://

.ChartType = xlColumnClustered 
cht.SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowLabel, LegendKey:=False, AutoText:=True, HasLeaderLines:=False, ShowSeriesName:=False, ShowCategoryName:=False, ShowValue:=True, ShowPercentage:=True 
cht.SeriesCollection(1).DataLabels.NumberFormat = "0.0%" 

そして、それが機能するようになりました[チャート軸ラベルの書式VBAの設定](HTTPSの可能な重複が

関連する問題