まず、以下のコードActiveSheet
でChartObjectに意志Set objCht
(ここで離れてActiveSheet
How to avoid using Select in Excel VBA macrosから滞在する方法勧告を参照)
二軸が適用される場合、それはそれを追加しますない場合は、以下のコードは、チェックしますチャートに追加します。その後、MinimumScale
とMaximumScale
が20と50(私が選択した乱数のみ)に変更されます。
コード
Option Explicit
Sub chart_set()
Dim objCht As ChartObject
Dim my_max_var As Long
' just for my tests
my_max_var = 1000
' set chart object
Set objCht = ActiveSheet.ChartObjects(1)
With objCht
With .Chart.Axes(xlValue, xlPrimary)
.MinimumScale = 0
.MaximumScale = my_max_var
End With
' check if Secondary Axis is applied
If .Chart.HasAxis(xlValue, xlSecondary) = False Then
.Chart.HasAxis(xlValue, xlSecondary) = True
End If
' modify minimum and maximum values of seconday axis
With .Chart.Axes(xlValue, xlSecondary)
.MinimumScale = 20
.CrossesAt = 20
.MaximumScale = 50
End With
End With
End Sub
おかげシャイは、ちょうど私が必要なもの! – Hamidreza
あなたの歓迎です:) 'ActiveSheet'の代わりに次回の' Sheets( "YourSheetName") 'を試してみてください。可能なエラーを回避するのに役立ちます –