次の方法で共有

Excel 2010の散布図グラフのマーカーの線幅をVBAで取得・設定する方法を知りたい

Anonymous
2012-09-11T06:14:23+00:00

nanashino と申します。

Excel 2010で,適当なデータに対して散布図(直線とマーカー)グラフを作成します。

このグラフのマーカーそのものの線幅は,以下の手順で変更できます。

  1. グラフのデータ系列を選択する。
  2. その状態で右クリックする。
  3. 「データ系列の書式設定」というコマンドを選択する。

4. 「マーカーのスタイル」という項目を選択する。

  1. 「幅」を希望の数値に設定する。

マーカーが塗りつぶされていると,この設定の効果がわかりにくいので,

その場合には,「マーカーの塗りつぶし」の「塗りつぶしの色」を白にしてみてください。

この手順を踏むと,

マーカーとマーカーをつなぐ「線」の幅を変更することなく,

マーカーそのものの線幅を変更することができます。

この操作に関して,

データ系列を選択した状態からマクロの自動記録をしてみると,

With Selection.Format.Line

.Visible = msoTrue

.Weight = 3 '線幅を例えば3ptにする

End With

のように記録されます。

そのままの状態で上記コードを実行してみると,

マーカーそのものの線幅だけでなく,マーカーとマーカーをつなぐ「線」の幅も同時に変更されてしまいます。

一方,マーカーとマーカーをつなぐ「線」の幅を変更する操作を自動記録してみると,

上記と全く同じコードが生成されます。

ここまでは,自動記録機能の問題かなぁと思い,

コードを修正すればよいだろうと考えておりました。

ところが,

ヘルプを調べたり,試行錯誤してみたところ,

データ系列に関するオブジェクトは,Seriesオブジェクトやpointオブジェクトがあり,

これらのFormat.Line. Weightプロパティで線幅を変更できるようなのですが,

マーカーそのものの線幅を単独で取得・設定することはできないようです。

マーカーとマーカーをつなぐ「線」の幅を含まず,マーカーそのものの線幅を単独で取得・設定する方法をご存じのかたがいらっしゃいましたら,ご教示ください。

以上,よろしくお願いいたします。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-09-13T03:30:30+00:00

y sakuda さん、いつもアドバイスありがとうございます。

nanashino さん、こんにちは。

Answers をご利用いただきありがとうございます。

横から失礼します。

散布図でグラフのマーカーの線幅を VBA で取得・設定する方法についての質問ですね。

VBA を使っての方法になるので、こちらの情報ですと、Answers 上ではなかなか有効な情報が集まりにくいかもしれません。。

有力な情報が得られるかは解らないのですが、こちらのフォーラム以外に VBA フォーラムがあるので、こちらに質問してみることで情報が得られやすくなるのかもしれません。

よろしければ、VBA フォーラムを活用してみてくださいね。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-09-11T15:49:10+00:00

英語圏のAnswersの記事です。質問の趣旨はnanashinoさんと全く同じようです。

ただ、これもマーカーラインの幅が変わるわけではなさそうですし、質問者さんが満足されたのかどうかも定かではありません。

http://www.google.co.jp/url?sa=t&rct=j&q=Excel+Marker+Line+Weight&source=web&cd=4&cad=rja&ved=0CE8QFjAD&url=http%3A%2F%2Fanswers.microsoft.com%2Fmessage%2Fbbed389b-7741-4486-b83a-8f0bebe7a184%3FthreadId%3Db16a0424-7446-4c35-b379-af9595fdf59b&ei=lFtPUIKwGrGCmQXQyYGQCA&usg=AFQjCNF22Ia-wxrAtS_8I65vU89AneFEfQ

このほかにもPointsを使うという記事は見かけますが、連結線も影響を受けたりしてお望みのようにはなりません。

すみませんが私はギブアップです。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

6 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2012-09-11T14:33:27+00:00

    失礼しました。

    おっしゃる意味は分かりましたが・・・・・

    確かにマーカのラインサイズのみを変えるっていうプロパティは存在しませんね。

    もう少し漁ってはみますが。

    因みにマクロ記録が不完全とか記録できないのは図関係なんかだと珍しくありませんし、ひどい場合はマクロ記録はできるが、全く動かないなんてケースもないではありません。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2012-09-11T13:13:36+00:00

    y sakuda さん,早速のご返信ありがとうございます。

    MarkerSizeプロパティは,当方でもすでに試しており,例示していただいたコードは,マーカーサイズを変更するためのものになっています。

    このコードを実行すれば,マーカーサイズは確かに変更されるのですが,マーカーの線幅は変更されません。

    手動操作の場合でいいますと,

    「データ系列の書式設定」→「マーカーのオプション」→「サイズ」の変更に相当します。

    当方の説明が悪かったのかもしれませんが,

    当方がやりたいことはそうではなくて,

    「データ系列の書式設定」→「マーカーのスタイル」→「幅」の変更に相当することをVBAから実現したいということです。

    マーカーの色と,マーカーの塗りつぶし色が一致している場合は,マーカーサイズを大きくすることと,マーカーそのものの線幅を大きくすることは同じような効果をもたらすかもしれません。

    しかし,マーカーを白抜きにしている場合は,マーカーそのものの線幅は見た目に大きく影響してきます。

    なにかよい方法がありましたら,ご教示いただきたく,お願いいたします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2012-09-11T10:03:59+00:00

    オブジェクトブラウザ眺めて作っただけですが、こんなところでよろしいのでは?

    Sub bbb()

    With ActiveSheet.ChartObjects(1).Chart

       .SeriesCollection(1).MarkerSize = 10

    End With

    End Sub

    面倒なので、ActiveSheet上の最初のグラフを対象にしてコーディングしてあります。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません