• 締切済み

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

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

みんなの回答

  • kkkkkm
  • ベストアンサー率65% (1606/2443)
回答No.3

> 線とマーカーの枠線を区別したいのです。 マーカーとマーカーを結ぶ線とマーカーを、ですよねですよね。回答したコードでそうなりませんか?

  • kkkkkm
  • ベストアンサー率65% (1606/2443)
回答No.2

> やはり、POINTSを使用して個別に対応するしかなさそうなのでしょうかね。 「マーカーを結ぶ線の一方のみの線」と質問に記載していましたが、個別に対応したいのではないのですか? 線を全てでしたら With ActiveChart.FullSeriesCollection(1) .Border.LineStyle = xlDash

bitamin123456
質問者

お礼

ご回答ありがとうございました。 分かりにくいようでしたので、画像付きで質問し直しますね。

bitamin123456
質問者

補足

すみません。少し説明不足でした。 線とマーカーの枠線を区別したいのです。 線を変えてしまうと、マーカーの枠線まで変化してしまい、何が何だか分からなくなってしまいます。 そういった意味で線とマーカーの枠線を別々に制御したいのです。 ご理解頂けましたでしょうか?

  • kkkkkm
  • ベストアンサー率65% (1606/2443)
回答No.1

2013で試しただけなのですが、以下で3番目と4番目のマーカーの間の線が変更できました。 With ActiveChart.FullSeriesCollection(1).Points(4) .Border.LineStyle = xlDash End With

bitamin123456
質問者

お礼

やはり、POINTSを使用して個別に対応するしかなさそうなのでしょうかね。 動作が少し重くなりそうで回避しようとも思ったのですがそう思い通りには行かないのかもですね。 回答ありがとうございます!!! もう少しだけ、回答待ってみたいと思います^^

関連するQ&A

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

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

  • エクセル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 グラフの線は無しでマーカの線が有りに設定は出来ないのでしょうか?

  • Excelマクロ、散布図の線種設定

    Excelの散布図をマクロで操作するプログラムを作ろうとしています。 それぞれの系列をマーカー付きの折れ線で表示しており、 点と点を結ぶ線を破線、マーカーの枠線を実線に設定しようとしています。 しかし、マクロの記録では、 点と点を結ぶ線の設定は ActiveChart.FullSeriesCollection(1).Select With Selection.Format.Line .Visible = msoTrue .DashStyle = msoLineDash End With と記録され、マーカーの枠線の設定は ActiveChart.FullSeriesCollection(1).Select With Selection.Format.Line .Visible = msoTrue .DashStyle = msoLineSolid End With と記録され、 線種を表すmsoLineDash, msoLineSolid以外違いがなく、 実際にコードを実行しても、「点と点を結ぶ線の線種」と「マーカーの枠線の線種」が同じになってしまいます。 どうすれば 「点と点を結ぶ線の線種」と「マーカーの枠線の線種」 を別々に設定できるのでしょうか?

  • EXCELのVBAでの折れ線グラフの属性設定

    Microsoft Excel for Office 365を使用しています。 このEXCELでVBAを使って折れ線グラフの属性設定を行っているのですが、 折れ線グラフの線種を変更をするために With ActiveSheet.ChartObjects(j).Chart.SeriesCollection(i) .Border.Color = lineColor .Format.Line.Weight = 1.75 .Format.Line.DashStyle = lineKind .MarkerStyle = markKind .MarkerSize = markSize .MarkerBackgroundColor = markColor .MarkerForegroundColor = lineColor End With のように.DashStyleで線種を設定しているのですが、このように 設定するとマーカーの枠線の線種も変更されてしまいます。 マーカーの枠線の線種を変更せずに折れ線の線種のみを変更する 方法をご教示ください。 よろしくお願いいたします。

  • Excel マクロ グラフの線とマーカーの太さ変更

    Excel2010でのマクロで折れ線グラフをマクロで作ろうとしています。 線の太さを2.25pt、マーカーの太さを1.25ptにしたいのですが、 マクロの記録では ActiveChart.SeriesCollection(2).Select '線の太さ With Selection.Format.Line .Visible = msoTrue .Weight = 2.25 End With 'マーカーの太さ With Selection.Format.Line .Visible = msoTrue .Weight = 1.25 End With となり、同じ太さになってしまいます。 手動でデータ系列の書式設定をすると各々別の太さになるのですが、 マクロではどうすればいいでしょうか? 宜しくお願いいたします。

  • VBAのグラフの設定について

    散布図の設定を線ありにし、かつ終点を矢印にしたいのですが、線はかけるものの、矢印の設定の時、 With Sheet1.ChartObjects("Chart").Chart.SeriesCollection(1) .Border.LineStyle = xlContinuous '線の種類(連続線) End With With sheet1.ChartObjects("Chart").ShapeRange .Line.EndArrowheadStyle = msoArrowheadOpen End With と設定すると、指定された値は境界を超えています。とでます。いくつかの方法でやりましたが、オブジェクトが対象ではないなど、エラーがどうしてもでてしまいます。どのように設定したら良いでしょうか?

  • エクセルのVBAについて

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

  • 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列まで続きます。

  • エクセルの折れ線グラフで目盛り線上にマーカー

    エクセルで折れ線グラフを作っています。 X軸の目盛り線を表示させるとデータとデータの間に線が入ってしまうのですが、データ上に目盛り線を表示させることはできないのでしょうか? 散布図を使ってみることも検討しましたが、散布図だと軸に文字を設定できないようです。 説明がうまくできず申し訳ないのですが、解決策はないでしょうか。 よろしくお願いします。

  • EXCELVBAグラフ凡例表示部分の系列の名称非表

    すいません。VBAの記述の方法がわからないのでお手数ですが教えてください 使用アプリ・使用OS:Excel2010 VBA Windows7 ■教えてほしい内容 グラフを作成し、その後以下のVBAでグラフの系列を追加しています。 dk = ActiveChart.SeriesCollection.Count + 1 ActiveChart.SeriesCollection.NewSeries '系列名の設定 ActiveChart.SeriesCollection(dk).Name = "cp-" & dk 'y軸の値設定 ActiveChart.SeriesCollection(dk).Values = "={" & aaa & "}" '散布図設定 ActiveChart.SeriesCollection(dk).ChartType = xlXYScatter その後、グラフの凡例部分でこの追加した系列cp-○の凡例内の系列を非表示にしたいのですがわかりません。 申し訳ありませんが教えてください。

専門家に質問してみよう