エクセルのVBAで散布図の色を変更する方法

このQ&Aのポイント
  • エクセル2007で散布図の色を変えるためにはVBAを使用する必要があります。具体的な手順としては、折れ線グラフを選択し、データ系列の書式設定を行い、マーカーの色や線の色を変更します。そして、変更を適用して記録を終了します。
  • 散布図に関するVBAの情報はあまりなく、特にエクセル2007においてはデータ系列の書式設定を行う方法が少ないです。しかし、上記の手順を経てVBAを記録することで、任意の散布図の色を変えることができます。
  • エクセル2007で散布図の色を変えるためにはVBAを活用しましょう。折れ線グラフを選択し、データ系列の書式設定で色を変更し、変更を適用して記録を終了します。VBAを使用することで、散布図の色を自在にカスタマイズすることができます。
回答を見る
  • ベストアンサー

エクセルのVBAについて

エクセル2007にて、散布図(直線とマーカー)という種類のグラフの色(9種類)を変えなくてはならないので、VBAを使おうとしました。 しかし、記録してみても下記のようにグラフを選択した後の記録が残らない状態になってしまいます。 Sub Macro1() ' ' Macro1 Macro ' ' ActiveSheet.ChartObjects("グラフ 1""").Activate ActiveChart.SeriesCollection(1).Select End Sub 流れとしては 1.折れ線グラフを右クリックで選択 2.データ系列の書式設定 3.マーカーの色、線の色、先のスタイルなどを変更 4.適用後、記録終了 という作業をしています。 ネットで検索をかけたりしても散布図に関するVBAの記事や質問はなかった(棒グラフなどはあった)ので、改めて質問をさせていただきました。 詳しい方、回答お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

#1,3です。 #3補足への返信です。 Sub Re8908589___()   With ActiveChart.SeriesCollection(1)     .MarkerStyle = xlMarkerStyleCircle     .MarkerSize = 7     .Border.Color = RGB(0, 0, 0)     .MarkerBackgroundColor = RGB(255, 255, 255)     .MarkerForegroundColor = RGB(0, 0, 0)     .Format.Line.DashStyle = msoLineSolid   End With End Sub こんな感じでしょうか? realbeatin 様 迅速な返信ありがとうございます。 > オブジェクトブラウザ、ヘルプを使えば書けるとの助言を頂いたので下記のように書いてみました。 > ちなみにDashStyle 以外は...思い通りに動作させることが出来ました。 ご苦労様です。大変だったでしょうけれど、皆そうやって力を付けているんだと思います。 > Dim ... As~の宣言?についてはまだ慣れていないので使わずに書きました。 それでいいです。 > しかし、実行時エラー 424 オブジェクトが必要です。となってしまい、動作させることができません。 > 【線のスタイル(実線、点線など】の場所が原因となっているのはわかっているのですが、 > ネットで調べても今一オブジェクトというものがどれを指しているのかわからない状態です。 > LineFormat.DashStyle.msoLineSolidLineFormat.DashStyle.msoLineSolid これは簡単には解らないと思いますから、質問が残るのも仕方ないですね。 お疲れ様でした。

Elba_1814
質問者

お礼

『=』を使えばよかったのですね。 まだ勉強し始めたばかりで、全く気付きませんでした。 こちらの回答で線のスタイルも無事動作しました。 他にもいくつかお聞きしたいことがありますので、聞きたいポイントがまとまり次第質問させていただきます。 よろしければまたご教授願います。 ありがとうございました。

その他の回答 (3)

回答No.3

こんにちは、#1です。 補足、コメント拝見しました。 > あとは、マーカーの種類(三角形、丸などの形)、マーカーのサイズ、線のスタイル(実線、点線など)の変更の仕方を教えて頂けると幸いです。 ↑この部分にだけ、実際の記述への加筆でお応えします。 引用部分は、いずれも VBAヘルプ、VBEオブジェクトブラウザ、から探したものです。 必要なプロパティを探すには、オブジェクトブラウザ、 使用できる定数を調べるのも、オブジェクトブラウザ、 プロパティ詳細を確認するのは、ヘルプ、 こんな感じで、 私だって、グラフの細かいこと一々覚えてはいませんし、 今回の処理については手作業でさえ経験したことのないものもありますが、 基本となるコードと、目的のオブジェクトさえ捉えられれば、 [マクロの記録]に頼らずとも、ある程度のことは調べることが出来るように、 VBEには補助機能が用意されています。 現実に今回の課題を詳説した書籍があるとは思えませんし、 2010環境といえども、今回[マクロの記録]が役に立ったのは、2、3カ所だけです。 #1で書いた > 以下の記述の各Withブロックの内側に > ドット"."をタイプするだけでメソッドやプロパティ等のメンバーが、 > イコール"="をタイプするだけでプロパティに応じた組込み定数の候補が、 > 入力のヒントとして表示されるような書き方にしてあります。 実際、こういう方法でプロパティや定数を見つけることもよくあります。 F1キーとF2キーと入力ヒント。 最初からうまく出来るものではありませんが、 応用する力を付ける意味で、慣れて、熟れるようにしてみて下さいね。 勿論、それでも困ることがあれば、また質問にしてみて下さい。 Sub Re8908589追加オーダー() Dim oSeries As Series Dim oFillFormat As FillFormat Dim oLineFormat As LineFormat   With ActiveSheet.ChartObjects("グラフ 1").Chart ' ★グラフ名を文字列で指定     Set oSeries = .SeriesCollection(1) ' ★データ系列を番号で指定     With oSeries       .MarkerStyle = xlMarkerStyleTriangle ' 【マーカーの種類(三角形、丸などの形)】 ' ' |以下引用         マーカーのスタイルを設定します。 ' ' |             使用できる定数は、次に示す XlMarkerStyle クラスの定数のいずれかです ' ' |             xlMarkerStyleAutomatic 自動マーカー ' ' |             xlMarkerStyleCircle 円形のマーカー ' ' |             xlMarkerStyleDash 長い棒のマーカー ' ' |             xlMarkerStyleDiamond ひし形のマーカー ' ' |             xlMarkerStyleDot 短い棒のマーカー ' ' |             xlMarkerStyleNone マーカーなし ' ' |             xlMarkerStylePicture 画像マーカー ' ' |             xlMarkerStylePlus 正符号 (+) 付きの四角形のマーカー ' ' |             xlMarkerStyleSquare 四角形のマーカー ' ' |             xlMarkerStyleStar アスタリスク (*) 付きの四角形のマーカー ' ' |             xlMarkerStyleTriangle 三角形のマーカー ' ' |以上引用         xlMarkerStyleX X 印付きの四角形のマーカー       .MarkerSize = 2 ' 【マーカーのサイズ】 ' ' |以下引用         マーカーのサイズをポイント単位で設定します ' ' |             使用できる値の範囲は、2 ~ 72 です ' ' |             (ポイント: 印刷する文字のサイズ (高さ) を指定する基本単位 ' ' |以上引用         1 ポイントは、約 0.0353 cm (1/72 インチ) です。) '      .Smooth = True       With .Format         Set oFillFormat = .Fill         With oFillFormat '          .Visible = msoTrue '          .Transparency = 0           .ForeColor.RGB = RGB(255, 0, 0) ' マーカーの色を赤にする場合 '          .Solid         End With         Set oLineFormat = .Line         With oLineFormat '          .Visible = msoTrue '          .Transparency = 0           .ForeColor.RGB = RGB(255, 0, 0) ' 線の色を赤にする場合           .Style = msoLineSingle ' 線のスタイルを単線にする場合 '          .Weight = 1           .DashStyle = msoLineSquareDot 'msoLineSolid ' 【線のスタイル(実線、点線など】 ' ' |以下引用         指定された線の点線のスタイルを設定します ' ' |以上引用         使用できる定数は、次に示す MsoLineDashStyle クラスの定数のいずれかです ' ' 以下筆者まとめ       msoLineDash 破線 ' '               msoLineDashDot 一点鎖線 ' '               msoLineDashDotDot 二点鎖線 ' '               msoLineDashStyleMixed ' '               msoLineLongDash 長破線 ' '               msoLineLongDashDot 長鎖線 ' '               msoLineLongDashDotDot 長二点鎖線 ' '               msoLineRoundDot ? ' '               msoLineSolid 実線 ' '               msoLineSquareDot ? ' '               msoLineSysDash 点線(角) ' '               msoLineSysDashDot ? ' '               msoLineSysDot 点線(丸)         End With       End With     End With   End With End Sub

Elba_1814
質問者

補足

realbeatin 様 迅速な返信ありがとうございます。 オブジェクトブラウザ、ヘルプを使えば書けるとの助言を頂いたので下記のように書いてみました。 Dim ... As~の宣言?についてはまだ慣れていないので使わずに書きました。 しかし、実行時エラー 424 オブジェクトが必要です。となってしまい、動作させることができません。 【線のスタイル(実線、点線など】の場所が原因となっているのはわかっているのですが、ネットで調べても今一オブジェクトというものがどれを指しているのかわからない状態です。 この点ご教授頂けると幸いです。 ちなみにDashStyle 以外は、おかげ様で思い通りに動作させることが出来ました。 Sub Re8908589() With ActiveChart.SeriesCollection(1) .MarkerStyle = xlCircle .MarkerSize = 7 .Border.Color = RGB(0, 0, 0) .MarkerBackgroundColor = RGB(255, 255, 255) .MarkerForegroundColor = RGB(0, 0, 0) LineFormat.DashStyle.msoLineSolid End With End Sub

  • Pcworks
  • ベストアンサー率35% (64/179)
回答No.2

Excelのバージョンによってマクロの記録に違いがあります、エクセル2007のマクロの記録では表題の項目は記録されますが内容(フォーマットの内容)は記録できません、Excel2003やExcel2010以降ではできます。 折れ線グラフの線の書式設定ですが書式設定をモジュールに作ると対象のグラフをアクティブにしてモジュール化したマクロを実行すれば希望通りの書式に変更設定できます。 Sub DrawChart() With ActiveChart.SeriesCollection(1) .Border.Weight = 1 'xlThin      線の太さ .Border.LineStyle = xlContinuous   線種 .Border.LineStyle = 1 .Border.ColorIndex = 1        線の色 .MarkerBackgroundColorIndex = 1    マーカーの色 .MarkerForegroundColorIndex = 1    マーカーの色 .MarkerStyle = xlDiamond       マーカーの形 .Smooth = True .MarkerSize = 8 マーカーのサイズ .Shadow = False           影(True or False) End With   With ActiveChart.SeriesCollection(2)     End With With ActiveChart.SeriesCollection(3)     End With End Sub ActiveChart.SeriesCollection(1)の番号は表示する線に順番に振られるのでその数だけ書く必要があります、不要の場合でも必ず順番を守らなくてはいけません、表示したくない線でもその番号の書式をinVisibleかFalseにするか番号を飛ばしても線と番号が一致する必要があります、上記以外にも設定項目はあります。 ネットで調べれば詳しく出ていますが実際にコードを書いて自分で確認することを薦めます,記録では色をRGBで(例 255,0,0)表示しますが色番号 黒(1)白(2) 赤(3)....もできるの色番号のほうが簡単と思います。 参考になれば幸いです。

Elba_1814
質問者

補足

Pcworks 様 回答をして頂いたにも関わらず返信が遅くなってしまい申し訳ございません。 Excel2003やExcel2010以降では内容(フォーマットの内容)の記録ができるのですね。 よりによって私が使っている2007だけが使えないのは不便ですが、有意義な情報をいただき有り難うございます。 早速ですが、With ActiveChart.SeriesCollection(1)と書かれていたので、Chartを選択した後、教えて頂いたものを実行しようとしたところ構文エラーとなってしまい、実行できませんでした。 VBAに関して未熟なため何か書き換える必要がある部分がありましたら教えていただけますと助かります。 もしくはExcelのVBAについて書かれた書籍や、サイトでオススメの物がありましたらそちらで自力解決をしようと思いますので、よろしければ教えて頂けると助かります。 よろしくお願い致します。

回答No.1

具体的にどうしたいか、こちらで判りませんから、以下に挙げる例を基に、 VBAのヘルプ、VBEのオブジェクトブラウザ等を参考に応用して、 やりたいように書き上げていってください。 (添付画像からやりたい事をこちらで察するのは難しいですし、  そちらから詳細な説明を加えるのも大変だと思いますので。)   Series  データ系列   FillFormat  マーカー   LineFormat  線 各オブジェクトについては、敢えて変数とWIthフレーズを使うことで、 以下の記述の各Withブロックの内側に ドット"."をタイプするだけでメソッドやプロパティ等のメンバーが、 イコール"="をタイプするだけでプロパティに応じた組込み定数の候補が、 入力のヒントとして表示されるような書き方にしてあります。 VBEのオブジェクトブラウザを(F2キーで)表示して、 中段左側にある[クラス]と書かれたペイン(小さいウィンドウ)の中を探して、 上記の3つのキーワードを、それぞれクリックしてみて下さい。 中段右側に['Series' のメンバー]としてメソッドやプロパティが一覧できます。 またはVBAのヘルプを表示させて上記の3つのキーワードを検索してみて下さい。 Sub Re8908589() Dim oSeries As Series Dim oFillFormat As FillFormat Dim oLineFormat As LineFormat   With ActiveSheet.ChartObjects("グラフ 1").Chart ' ★グラフ名を文字列で指定     Set oSeries = .SeriesCollection(1) ' ★データ系列を番号で指定     With oSeries '      .Smooth = True       With .Format         Set oFillFormat = .Fill         With oFillFormat '          .Visible = msoTrue '          .Transparency = 0           .ForeColor.RGB = RGB(255, 0, 0) ' マーカーの色を赤にする場合 '          .Solid         End With         Set oLineFormat = .Line         With oLineFormat '          .Visible = msoTrue '          .Transparency = 0           .ForeColor.RGB = RGB(255, 0, 0) ' 線の色を赤にする場合           .Style = msoLineSingle ' 線のスタイルを単線にする場合 '          .Weight = 1 '          .DashStyle = msoLineSolid         End With       End With     End With   End With End Sub

Elba_1814
質問者

補足

realbeatin 様  回答をして頂いたにも関わらず返信が遅くなってしまい申し訳ございません。教えて頂いたものを実行したところマーカーと線の色の変更が同時に出来ました。 あとは、マーカーの種類(三角形、丸などの形)、マーカーのサイズ、線のスタイル(実線、点線など)の変更の仕方を教えて頂けると幸いです。 もしくはExcelのVBAについて書かれた書籍や、サイトでオススメの物がありましたらそちらで自力解決をしようと思いますので、よろしければ教えて頂けると助かります。 よろしくお願い致します。

関連するQ&A

  • excelのマクロによるグラフの指定方法

    マクロがどのように記録されるかを見ながら、VBAのスクリプトの書き方を学んでいる初心者です。 Sub Macro1() ' ' Macro1 Macro , ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlLine ActiveWindow.ScrollColumn = 1 ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).Name = "='平均化'!$B$1" ActiveChart.SeriesCollection(1).Values = "='平均化'!$B$4:$B$18" ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(2).Name = "='平均化'!$C$1" ActiveChart.SeriesCollection(2).Values = "='平均化'!$C$4:$C$18" ActiveChart.ChartType = xlLine ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlLine ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).Name = "='平均化'!$D$1" ActiveChart.SeriesCollection(1).Values = "='平均化'!$D$4:$D$18" ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(2).Name = "='平均化'!$E$1" ActiveChart.SeriesCollection(2).Values = "='平均化'!$E$4:$E$18" ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(3).Name = "='平均化'!$F$1" ActiveChart.SeriesCollection(3).Values = "='平均化'!$F$4:$F$18" End Sub 以上のマクロを作成し、実行したのですが、”指定した名前のアイテムが見つかりませんでした”と出て、上手く実行されませんでした。 操作対象のオブジェクトを行き来する方法を知りたいのですが、オブジェクトを作成するたびに ActiveSheet.ChartObjects("グラフ 1").Activate のダブルクオーテーション内に当たる値が自動的に割り振られるため、この部分でエラーになることは分かりました。 つまりこの値をこちらから指定出来れば、望んだ動作をさせられるのではと考えているのですが、 どなたかご教示お願いできませんでしょうか。

  • VBAで各シートの表でグラフを作成したいのですが

    シートごとにレイアウトが同じ表がありまして、 VBAで各シートの表でグラフを作成したいのですが、 どうしても作成した時のシートのデータで出来てしまいます。 egシート1で表作成>シート2でVBA実行してもシート1でつくったグラフが複製されるだけ、、 どうすれば、選択中のシートのデータで表ができるのでしょうか?? 一度グラフをコピーした上でデータを変える方法も試したのですが、 Sub Macro7() ActiveSheet.ChartObjects("グラフ 1").Activate ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.SeriesCollection(1).Name = "=Sheet2!$B$29" ActiveChart.SeriesCollection(1).Values = "=Sheet2!$B$31:$B$128" 結局シート2でしか出来ず、、です 「Sheet2!~」のところがいけないのはわかるのですが、、 この方法以外でもどんな方法でもよいのでどなたかお力かしてください。

  • Excel VBAの散布図について

    Excel VBAで散布図を作ろうと考えています。 元のデータは添付した画像のものです。 左端にXの値があって、それ以降7列ごとに8枚の散布図を作成しようと考えております。 そこで、kを1~8まで動かし8種類の散布図を作成しようと考えているのですが、このマクロではk=1だけプログラムを回しただけで、一枚のグラフにすべての系列が載ってしまいます。 kを動かさずに、Cellの位置を指定して回した際にはうまくいったのですが、kを動かすようにしたところうまくいきません。 散布図を作る際に系列の数(私の場合7種類)を指定するにはどうしたらよいでしょうか。 どなたかご教授ください。 For k = 1 To 8 ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlXYScatter ActiveChart.SeriesCollection(1).Name = Sheets("Voltammogram").Cells(10, -5 + 7 * k) ActiveChart.SeriesCollection(1).XValues = "=Voltammogram!$A$12:$A$250" ActiveChart.SeriesCollection(1).Values = Sheets("Voltammogram").Range(Cells(12, -5 + 7 * k), Cells(250, -5 + 7 * k)) ActiveChart.SeriesCollection(2).Name = Sheets("Voltammogram").Cells(10, -4 + 7 * k) ActiveChart.SeriesCollection(2).XValues = "=Voltammogram!$A$12:$A$250" ActiveChart.SeriesCollection(2).Values = Sheets("Voltammogram").Range(Cells(12, -4 + 7 * k), Cells(250, -4 + 7 * k)) 以降7列まで続きます。

  • グラフの参照元を相対参照で記述するには

    マクロ初心者です。 あるグラフを最初テンプレートで作っておいて、他のデータでも簡単に同じグラフを作れるようにしたいです。 マクロの記録で「相対参照」があったので、これでできると思ったのですが、グラフのセルは絶対参照になるようです。下記のようになってりまいます。 Sub Macro6() ' ' Macro6 Macro ' ' ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.PlotArea.Select ActiveSheet.ChartObjects("グラフ 1").Activate ActiveCell.Select ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.PlotArea.Select ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.SeriesCollection(1).XValues = "='Sheet1'!J3:J11" ActiveChart.SeriesCollection(1).Values = "='Sheet1'!M3:M11" ActiveChart.SeriesCollection(2).XValues = "='Sheet1'!J3:J11" ActiveChart.SeriesCollection(2).Values = "='Sheet1'!P3:P11" ActiveCell.Select End Sub 具体的にやりたい動作は、 1.相対的な場所を決定するセルを選択(表の左上のセルなど) 2. ActiveChart.SeriesCollection(1).XValues = "='1.のセルから右に2列進んだセル:1.のセルから右に2列下に8列進んだセル" ActiveChart.SeriesCollection(1).Values = "='1.のセルから右に4列進んだセル:1.のセルから右に4列下に8列進んだセル" ActiveChart.SeriesCollection(2).XValues = "='1.のセルから右に2列進んだセル:1.のセルから右に2列下に8列進んだセル" ActiveChart.SeriesCollection(1).Values = "='1.のセルから右に6列進んだセル:1.のセルから右に6列下に8列進んだセル" というふうにしたいです。 ご指導お願いします。

  • Office 2003 excel vbaでグラフの種類を一系列毎に判

    Office 2003 excel vbaでグラフの種類を一系列毎に判定するマクロを組もうとしております。マクロの対象となるグラフには合計で4系列が含まれており、上から棒グラフ、棒グラフ、マーカーなしの折れ線グラフ、マーカー付のおれせんグラフとなっています。 以下のマクロを実行して、「xlbar」「xlbar」「xlline」「xlline」とメッセージが返る事を想定していたのですが、実際には「51」「51」「65」「4」とメッセージが表示されます。 どこで間違っているのかご教示いただけますと幸いです。 Sub 判定() Dim i As Integer Dim seriesCounts As Integer seriesCounts = ActiveChart.SeriesCollection.Count For i = 1 To seriesCounts MsgBox ActiveChart.SeriesCollection(i).ChartType Next i End Sub

  • 【VBA】グラフの線とマーカーの枠線

    エクセルのVBAで、グラフの線とマーカーの枠線を別々に扱いたいのですができなくて困っています。(現在はExcel2016使用しています。) 具体的には、線付き散布図でマーカーの枠線は実線で表示したいのに対し、線を変えると、マーカーの枠線も一緒に変化してしまいます。 以下のようなことは、試してみたのですが両方ともにマーカーの線も変化してしまいます。 with Activeworkbook.Activechart.seriesCollection(Int) .Format.Line.DashStyle や .Border.LineStyle マーカーのみ、または散布図のマーカーを結ぶ線の一方のみの線のプロパティを変化させる方法はありますでしょうか。 よろしくお願いいたします。

  • エクセルVBAでグラフの線とマーカを設定したい

    エクセルVBAでグラフの線とマーカを設定したいです。 グラフの線は無しでマーカの線が有りにしたいのですが、 マクロで記録したコードを見ると グラフの線、マーカの線ともにFormat.Line.Visibleで指定しています。 実際にコードを記述しても、以下の様になり、グラフの線が表示されてしまいます。 ChartObjects("1").Chart.SeriesCollection(10).Format.Line.Visible = msoFalse With ChartObjects("1").Chart.SeriesCollection(10).Format.Line .Visible = msoTrue .ForeColor.RGB = RGB(255, 102, 0) .Transparency = 0 End With グラフの線は無しでマーカの線が有りに設定は出来ないのでしょうか?

  • エクセルのグラフをマクロで縮小化したい

    office2007。Vistaを使用。 エクセルのグラフを縮小するマクロを記録ボタンで作成しました。画面上は縮小されるのですが、「マクロの記録」ではそれが記録されません。office2003で作成したときは zoom を使用したような気がしますが、2007ではどうしたらよいのでしょうか?お教えください。A1B5 にデータが入っています。 Sub Macro1() ' Macro1 Macro Range("B2").Select ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("'Sheet1'!$A$1:$B$5") ActiveChart.ChartType = xlColumnClustered ActiveChart.Location Where:=xlLocationAsNewSheet ActiveSheet.ChartObjects("グラフ 1").Activate ActiveSheet.ChartObjects("グラフ 1").Activate Sheets("Sheet1").Select Range("A1").Select End Sub

  • VBAでのグラフ作成時の色づけ方法

    VBAを使用して散布図を作成しているのですが、 その散布図のマーカーの色をすべて同じ色にするプログラムを考えています。 以下のプログラムを実行してみたのですが色が変更されないため、 どなたか教えていただけると嬉しいです。 よろしくお願いします。 Sub グラフ作成と色づけ() Dim i As Integer With Sheet1.ChartObjects.Add(100, 50, 300, 200).Chart .ChartType = xlXYScatter .SetSourceData Source:=Sheets("sheet1").Range("C2:DD4465") .HasTitle = True .ChartTitle.Characters.Text = "気温変化" .HasLegend = False .HasDataTable = False For i = 1 To 105 .SeriesCollection(i).Interior.ColorIndex = 3 Next i End With MsgBox ("FINISH") End Sub

  • 【VBA】グラフの線とマーカーの枠線

    エクセルのVBAで、グラフの線とマーカーの枠線を別々に扱いたいのですができなくて困っています。(現在はExcel2016使用しています。) 具体的には、線付き散布図でマーカーの枠線は実線で表示したいのに対し、線を変えると、マーカーの枠線も一緒に変化してしまいます。 以下のようなことは、試してみたのですが両方ともにマーカーの線も変化してしまいます。 with Activeworkbook.Activechart.seriesCollection(Int) .Format.Line.DashStyle や .Border.LineStyle マーカーの枠線のみ、または散布図の線のみプロパティを変化させる方法はありますでしょうか。 画像のように、一方を変更させようとすると、マーカーの枠線も変わってしまい(1番上側の青線)、訳が分からなくなります。 緑線のように、マーカーの線は実線で示したいです。 よろしくお願いいたします。

専門家に質問してみよう