Excel2000 VBAで
一度作ったグラフに
項目軸ラベルを追加しようとすると
エラーが出ます.
Dim MyWorkBookName As String
Dim MySheetName As String
Dim LastRow As Integer
MyWorkBookName = ActiveWorkbook.Name
MySheetName = ActiveSheet.Name
LastRow= 52
With ActiveChart
.SeriesCollection(1).XValues = _
Workbooks(MyWorkBookName). _
Worksheets(MySheetName). _
Range(Cells(2, 6), Cells(LastRow, 6))
End With
変数を使って表したいのですが...
No.1
- 回答日時:
Cellsの対象オブジェクトを指定していないためにエラーが出ているのだと思います。
また、シートなどを名前でバインディングしていますが、オブジェクトでバインドしたほうが効率がいいですよ。
Dim LastRow As Integer
Dim objMySheet As Worksheet
Set objMySheet = ActiveSheet
LastRow = 52
With ActiveChart
.SeriesCollection(1).XValues = _
objMySheet. _
Range(objMySheet.Cells(2, 6), objMySheet.Cells(LastRow, 6))
End With
No.2
- 回答日時:
この処理を動作させたときには、正常動作する場合としない場合があります。
グラフをアクティブ(グラフを選択した状態)にし動作させることで、正常動作し、
非アクティブでは、エラーが発生します。
そこで、そのまま使用するためには、任意のグラフをアクティブにする処理
(下記参照)が必要になります。
LastRow = 52
'追加行 -- Start ---------------------------------------------------
'Dim ChaObj As ChartObject
'
'For Each ChaObj In ChartObjects
' Debug.Print ChaObj.Index '出力結果(1)、グラフの数分出力される。
' Debug.Print ChaObj.Name '出力結果(2)、グラフの数分出力される。
'Next
'下記の2行中どちらかを使用
ActiveSheet.ChartObjects(1).Activate '出力結果(1)を()内に使用
ActiveSheet.ChartObjects("Chart 1").Activate '出力結果(2)を()内に使用
'追加行 -- Endt -----------------------------------------------------
With ActiveChart
No.3ベストアンサー
- 回答日時:
補足します。
Activeにして使用するのは、あまり良い方法ではありません。Activeにするとスピードが落ちるためです。
基本的に、どのオブジェクトもActiveにしなくても参照できますので、Activeにしないで、良く使うオブジェクトはオブジェクト変数に設定して使用するのがいい方法だと思います。
この場合は、下記のようにすれば、Activeにしないで処理することができます。
Sub test()
Dim LastRow As Integer
Dim objMySheet As Worksheet
Set objMySheet = ActiveSheet
LastRow = 52
With objMySheet.ChartObjects(1).Chart
.SeriesCollection(1).XValues = _
objMySheet. _
Range(objMySheet.Cells(2, 6), objMySheet.Cells(LastRow, 6))
End With
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ 2 2022/07/29 11:12
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのグラフの色を統一す...
-
エクセルのグラフに上下限値の...
-
グラフの線だけをコピペしたい!
-
ワードでCos、sinの図を書きたい
-
Excelのグラフで
-
はみ出たレーダーチャートの表...
-
Excelでグラフの種類「縦棒」で...
-
エクセルのグラフで、背景を塗...
-
【至急】Excelで睡眠時間のグラ...
-
Sma4のグラフ作製
-
Excelグラフ
-
エクセルのグラフの作り方
-
Excelで膨大な系列数のグラフを...
-
Excelのグラフで上と右の枠線を...
-
エクセルでグラフの平均化を教...
-
エクセル グラフのプロットエ...
-
Excel2010 グラフ 横軸目盛線の...
-
マイナスを表現する場合はどの...
-
excel グラフ
-
エクセルのグラフを自動で一色に
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのグラフの色を統一す...
-
エクセルのグラフに上下限値の...
-
はみ出たレーダーチャートの表...
-
【至急】Excelで睡眠時間のグラ...
-
Excelのグラフで
-
グラフの線だけをコピペしたい!
-
Excelのグラフ「プロット...
-
Excelのグラフで上と右の枠線を...
-
EXELグラフをWORDに貼り付ける...
-
パワーポイントでコストアップ...
-
Excel:角ばったグラフの線を滑...
-
エクセルでグラフの平均化を教...
-
EXCELで数値に対応したベクトル...
-
Excelグラフ
-
excelで、折れ線グラフと折れ線...
-
エクセル グラフのプロットエ...
-
Excelで膨大な系列数のグラフを...
-
エクセルのグラフを自動で一色に
-
グラフの上側が空いているので...
-
excelで線と線の間を塗りつぶし...
おすすめ情報