[[20181019110348]] 『散布図グラフのマーカー形状を固定させたい』(るのの) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『散布図グラフのマーカー形状を固定させたい』(るのの)

こんにちは。
いろいろ調べてみたんですがお手上げなのでご教授ください!

やりたいこと
各試験データごとに作成した散布図グラフを
一個の散布図に集約させたとき
散布図のマーカー形状が自動で変更させない
or
変わってしまったマーカー形状を一括で同じ形に変更したい

詳細
(1)試験データがシート別で20個くらいあります。
(2)その各シートに試験データを散布図グラフが作成されています。
(3)散布図の種類は"散布図(マーカーのみ)"を使用しています。
(4)作成してある散布図のデータ系列の書式設定は
 マーカーのオプション:組み込み,○(丸形状)
 マーカーの塗りつぶし:自動
 を使用しています。
(5)試験データまとめというシートを作成して
 そこに各シートにある散布図グラフを一つの散布図グラフに集約します。
(6)集約方法はひたすらコピーアンドペースト
(7)(仮)シート1のグラフをデータまとめシートにコピペ後
  (仮)シート2のグラフを同じようにコピペすると
  (仮)シート2の書式は維持されるが
  (仮)シート1の書式がリセットされてしまう ←ここをどうにかしたい
リセットというのは(4)で設定したマーカーのオプションが自動に変更されてしまうことです。

塗りつぶしの書式設定を自動にしているとページレイアウトの配色で
設定されているのが組み込まれるのはわかっているのですが、、、
組み込みで設定したグラフがコピペで設定が変更されてしまうのは
どうにかできないでしょうか?

長文ですいません。

< 使用 Excel:Excel2010、使用 OS:unknown >


Excelが勝手に書式を戻してしまうのは、どうしようもないように思います。 対策としては、マクロで再設定してしまう事でしょうか。

ただし、グラフオブジェクトはバージョンアップの度に機能追加されて複雑になっているので、調べるのはちょっと大変かも知れません。(Web上にあまり情報が出回っていない) マクロの自動記録を頼りに、いろいろ調べてみてください。

なお、OSがWinodowsなのかMacなのかはかなり重要なので、必ず入力しましょう。
(???) 2018/10/19(金) 13:36


???さんありがとうございます。
マクロ苦手だけどちょっとみてみます、、、

OSはWindows7です。すいません〜!
(るるの) 2018/10/19(金) 13:49


マクロがやっぱりちんぷんかんぶんです、、
だれかグラフの書式の再設定を行うマクロについて
おしえていただけませんか!
(るるの) 2018/10/24(水) 12:56

難しかったですかね? 有名どころでは、Office TANAKAさんのところにも情報があったりしますが。
 Sub test()
    Dim i As Long

    With ActiveSheet.ChartObjects(1).Chart
        For i = 1 To .SeriesCollection.Count
            .SeriesCollection(i).MarkerStyle = xlMarkerStyleCircle
        Next i
    End With
 End Sub

マーカースタイルについては、ヘルプで「MarkerStyle プロパティ」を調べてみてください。
(???) 2018/10/24(水) 13:49


???さんありがとうございます!
マクロの知識がそもそも全然なかったので
難しかったです、、、ごめんなさい、、、

そうなんですね!ちょっとまた調べてみます!

動作確認がいまはちょっとできないので
またご連絡させていただきますが
とりいそぎお礼させてください!
ありがとうございました!!
(るるの) 2018/10/24(水) 14:34


追加で質問です。誰かご教授ください。。。

???さんに教えていただいたマクロで実行できたんですが
複数ある場合にどうしたらいいのかわからなくなってしまいました。

3行目の

    With ActiveSheet.ChartObjects(1).Chart
( )内の数字を2にしたら二つのグラフが変更されることはわかりました。

Office TANAKAさんのも参考にして
複数埋め込みグラフがある際の削除のやり方の

Sub Sample()

    Dim i As Long
    With ActiveSheet
        For i = .ChartObjects.Count To 1 Step -1
            .ChartObjects(i).Delete
        Next i
    End With
End Sub

このマクロと???さんに教えていただいたマクロを
うまく合体できないか挑戦してたんですが
ループ処理がよくわからなくなってしまいました、、、

すいませんがご教授ください、、、

(るるの) 2018/10/29(月) 09:09


うまくいかないコードを見せてもらうと、何が悪いのかを教えられるのですが。

とりあえず、こんな感じになるでしょう。 Deleteの際は、前から消すと番号が詰まってしまうので、後ろから順に削除してますが、マーカーを変えるだけなら変化はないので、普通に前から処理しています。

 Sub test()
    Dim i As Long
    Dim j As Long

    With ActiveSheet
        For i = 1 To .ChartObjects.Count
            With .ChartObjects(i).Chart
                For j = 1 To .SeriesCollection.Count
                    .SeriesCollection(j).MarkerStyle = xlMarkerStyleCircle
                Next j
            End With
        Next i
    End With
 End Sub
(???) 2018/10/29(月) 09:46

???さんありがとうございます!
できました!

自分で試行錯誤したのでいうと

    Dim i As Long
    Dim j As Long ←ここがぬけてました
あとほかにもちがっているところは山ほどありますが、、

> Deleteの際は、前から消すと番号が詰まってしまうので、後ろから順に削除してますが
というのは
To 1 Step -1
のコードにあたるんですかね?

すいません基礎知識が乏しすぎるので
マクロお勉強をしっかりやります、、、

まだこの掲示板にくるには早すぎました、、、
お手数おかけしました。

???さんありがとうございました。

(るるの) 2018/10/29(月) 09:57


ここの掲示板に来るのは、全然早すぎませんよ。 むしろ、最適な時期に聞きに来ていると思います。

自分で調べて、試して、デバッグして、それを繰り返してもどうしても判らなくなったときに聞きにくれば良いのです。 あとは、マクロの問題ならば、そのマクロ自身や参照しているデータや、どういう結果を求めているのかを説明してくれれば話が早いでしょう。
(???) 2018/10/29(月) 10:09


???さんありがとうございます
そういっていただけると励みになります頑張ります
そうですねあとは質問がもっとわかりやすくつたえられるようにしますね、、、

最後までお付き合いいただきありがとうございました。
また質問が出てきた際はどうかよろしくお願いいたします。
(るるの) 2018/10/29(月) 10:17


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.