2017-03-01 5 views
2

ユーザーがボタンをクリックしたときにグラフの縮尺を変更する必要があるコードがあります。しかし、コードは、最後に使用された行である最大スケールでは機能しません。以下のコードは次のとおりです。下の写真のExcel VBA - XYスキャッタチャートの最大スケールの更新時にエラーが発生する

Option Explicit 

Sub ScaleAxes() 

Dim LastRow, LastRow2 As Long 
Dim ws As Worksheet 

Set ws = ActiveChart.Parent.Parent 

With ActiveChart.Axes(xlCategory, xlPrimary) 
    LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row 
    .MaximumScale = LastRow 
    .MinimumScale = ActiveSheet.Range("A2").Value 
End With 

End Sub 

は、周波数対パワーである私のデータから生成したグラフです。周波数範囲は1.12GHz〜1.45GHzです。

enter image description here

私は上記のコードを適用した後、グラフは以下のように変更されました:

enter image description here

をあなたが絵で見ることができるように、1.12 GHzである最小規模が動作していないが、最大規模のために。コードに何か問題はありますか?

ありがとうございました。

+2

あなたは '.MinimumScale = ws.Range( "A2")。[値]で' .MinimumScale = ActiveSheet.Range( "A2")。[値]を交換する必要はないのですか? –

+0

こんにちは@ShaiRado、実際にあなたは正しいです。正しいシート名に置き換えます。しかし今のところ、私は最大のスケールが働きたい – Jeeva

答えて

1

問題は、LastRowは最後の行の番号です。私はあなたが最後のセルの価値を望んだと仮定します。

.MaximumScale = ws.Cells(LastRow, 1).Value 
関連する問題