
エクセルにてグラフの線の色を変えるマクロを記録し
そのまま実行するとエラーになります。
(Lineメソッドは失敗しました)
どこを変更すれば上手くいきますでしょうか。
'------------------------記録したマクロ
ActiveSheet.ChartObjects("グラフ 1").Activate
ActiveChart.Legend.Select
ActiveChart.Legend.LegendEntries(1).Select
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(192, 0, 0)
.Transparency = 0
End With
環境
Windows 7
Office 2010

No.1ベストアンサー
- 回答日時:
.Legend.LegendEntries(1) とは、『凡例』の1番めの凡例文字です。
これを選択して右クリック、ミニツールバーから「図形の枠線」を使って色を変えると
提示されたマクロが確かに記録されます。
ですが、
凡例1選択後右クリックして「データ系列の書式設定」から「線の色」を変更してみてください。
マクロ記録は
ActiveSheet.ChartObjects("グラフ 1").Activate
ActiveChart.Legend.Select
ActiveChart.Legend.LegendEntries(1).Select
ActiveChart.SeriesCollection(1).Select
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(192, 0, 0)
.Transparency = 0
End With
このように記録されるはずです。
>ActiveChart.Legend.LegendEntries(1).Select
の後に記録されている SeriesCollection(1) というのが『系列1』の事です。
グラフの線の色を変えるには、この系列1の.Format.Line.ForeColor.RGB を変更する操作が必要です。
マクロ記録は便利な機能ですが、パーフェクトに機能しているわけではないです。
特に図形を扱う時は、『Selection』は暗黙のうちに処理され、記録されない事も少なくありません。
記録マクロを参考に、ヘルプも駆使してコードを整理する事が必要です。
時に、目的の操作にはSelectionは必ずしも必要というわけではありません。
ActiveSheet.ChartObjects("グラフ 1").Chart.SeriesCollection(1).Format.Line.ForeColor.RGB = RGB(192, 0, 0)
このように、親オブジェクトから順に階層を辿ってきちんと指定してあげればSelect不要です。
また、マクロを組む時に操作対象が何なのか調べてみると理解が深まると思います。
対象をSelectしてみて、
Sub test()
Dim o As Object
Set o = Selection
Stop
End Sub
このマクロを実行すると『Stop』行でマクロが一時停止します。
VisualBasicEditor画面で[Alt][v][s]の順押しで[ローカルウィンドウ]が表示されます。
変数 o が何の型なのか、『型』フィールドに表示されます。
例)Object/Series
これを元にヘルプを使って、そのオブジェクトが持っているプロパティやメソッドを調べたりする事ができます。
また、変数 o の左 田マークをクリックする事で o に格納されたオブジェクトのプロパティの内容を見る事もできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
ピボットグラフの書式の固定に...
-
5
エクセルでツールバーに「縮小...
-
6
どのドキュメントは暗号化され...
-
7
エクセルのストップウォッチ
-
8
別ブックからユーザーフォーム...
-
9
最初の1回のみにボタンクリッ...
-
10
エクセルで「ODBC Microsoft Ac...
-
11
エクセルマクロのグラフ操作
-
12
VBAを使ってエクセルシート...
-
13
cellsで特定の離れた範囲を選択...
-
14
hostent.h_addrの説明URL
-
15
ワードで選択範囲だけの改行を...
-
16
Excelのラジオボタンにチェック...
-
17
VBからPowerPointのマクロを実...
-
18
ExcelのVBAでWordの書式を変更...
-
19
エクセルVBAで新規シートにマク...
-
20
エクセル終了時の保存確認メッ...
おすすめ情報
公式facebook
公式twitter