
エクセルにてグラフの線の色を変えるマクロを記録し
そのまま実行するとエラーになります。
(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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数セルに〇印をつけるマクロ 4 2022/09/07 05:33
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) excel ピポットテーブルの更新について 1 2022/05/13 16:12
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) エクセルマクロで教えてください 2 2022/05/04 09:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
ファイル名を今日の日付、時刻...
-
VBA[Private Sub]のコードをシ...
-
Powerpointでランダムな数字の...
-
エクセルのセルの一部の色を変...
-
別ブックからユーザーフォーム...
-
エクセルワークシート上に印刷...
-
【ExcelVBA】クエリの更新とピ...
-
wordのマクロで縮小して貼り付...
-
エクセル2007 テキストボ...
-
最初の1回のみにボタンクリッ...
-
エクセルのマクロ 回数分ルー...
-
VBAを使ってエクセルシート...
-
VBAで実行時エラー '1004'の解...
-
マクロを利用したグラフ編集
-
どのドキュメントは暗号化され...
-
VBAでグラフXj軸の文字列を左90...
-
エクセルVBAで、画像の倍率を知...
-
ワードで段落→編みかけの設定→...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
ファイル名を今日の日付、時刻...
-
VBA[Private Sub]のコードをシ...
-
cellsで特定の離れた範囲を選択...
-
Powerpointでランダムな数字の...
-
どのドキュメントは暗号化され...
-
最初の1回のみにボタンクリッ...
-
【ExcelVBA】クエリの更新とピ...
-
エクセルVBAで、画像の倍率を知...
-
VBAを使ってエクセルシート...
-
別ブックからユーザーフォーム...
-
エクセルのマクロでSelection.S...
-
ピボットグラフの書式の固定に...
-
wordのマクロで縮小して貼り付...
-
Pictures.Insertメソッド⇒Shape...
-
EXCELにクリップボードにある画...
-
エクセル2007 テキストボ...
-
エクセルで「ODBC Microsoft Ac...
-
ACCESS VBAからWordのテンプレ...
おすすめ情報