dポイントプレゼントキャンペーン実施中!

シート状に複数のグラフ(散布図)が作られてます.
これの輪郭線をすべて消去したいです.

Excel操作でいうと「グラフエリアの書式設定」→「パターン」タブ→
輪郭を「なし」となります.

一グラフに対して自動記録マクロをとると,次のようになります.
これを,ブック上(シート上でなく)にある全てのグラフオブジェクト
に対して施したいのですが,その方法がわかりません.

Sub Macro1()
ActiveSheet.ChartObjects("グラフ 1").Activate
ActiveChart.ChartArea.Select
With Selection.Border
.Weight = 1
.LineStyle = 0
End With
Selection.Interior.ColorIndex = xlAutomatic
Sheets("Sheet1").DrawingObjects("グラフ 1").RoundedCorners = False
Sheets("Sheet1").DrawingObjects("グラフ 1").Shadow = False
End Sub

よろしくお願い致します。

A 回答 (2件)

コメントを頂いておりましたのに、回答が遅れまして申し訳ありません。



もし、ブック全体に対象を広げたいのであれば

Sub Macro1()

  Dim mySheet As Worksheet
  Dim myChart As ChartObject

  For Each mySheet In ThisWorkbook.Worksheets
    For Each myChart In mySheet.ChartObjects
      myChart.Chart.ChartArea.Border.LineStyle = 0
    Next
  Next

End Sub
となると思います。
    • good
    • 0
この回答へのお礼

御礼遅くなり失礼いたしました.

おかげさまでブック全体にも適用できました.
ほんと,感謝にたえません.

ちなみに私の場合,全て個人用マクロブック
(PERSONAL.XLS)に保持するため,

For Each mySheet In ThisWorkbook.Worksheets

For Each mySheet In ActiveWorkbook.Worksheets

で動くようです.

おかげさまで作業効率が飛躍的に向上です.
本当にありがとうございました.

お礼日時:2005/06/05 01:00

以下のような感じでいけるんじゃないでしょうか。



Sub Macro1()

  Dim myChart As ChartObject

  For Each myChart In ActiveSheet.ChartObjects
    myChart.Chart.ChartArea.Border.LineStyle = 0
  Next

End Sub
    • good
    • 1
この回答へのお礼

aihoさん,早速ありがとうございました.

試してみたところ,バッチリでした.

対象をシート全体からブックに全体に
拡張するのは敷居高いでしょうか.
もしカスタマイズが容易であれば
ご教示いただけますと幸いです.

まずは御礼申し上げます.

お礼日時:2005/06/01 21:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!