ExcelVBAで散布図を自動生成するマクロを作成しているのですが、

データ系列のマーカーの設定部分で苦戦しております。

マーカーの塗りつぶしの色と透過性を任意に設定できるようにしたいのですが、
マクロの記録を基に以下の様に組んでみましたが上手くいきません。
SeriesCollectionでデータ系列毎に

With .Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0) '仮で赤色に設定してみている
.Transparency = 0.5
.Solid
End With

ForeColorで色を設定するとマーカーの色は反映されるのですが、
その後Transparencyで透過性を設定する行が実行されると色の設定が戻ってしまい透過性も反映されません。
また、Solidを実行しても色が変わってしまいます。
任意の透過性を設定するにはどの様にすれば良いでしょうか

実行環境はWindows10でExcel2010を使用しています。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2019/04/15 19:15:06

回答0件)

回答はまだありません

  • id:sgo2
    互換モードだと駄目だった気が
  • id:kimuram
    回答まで至らないので話だけで。
    今は使ってない非力なパソコンにExcel2010をインストールし直して試してみたけど、
    確かにうまくないですね。
    また、Excel2016でも結果は同じくだめでした。

    solidは特に必要でもないかと思うけど。
    (カラーを指定すると一緒にsolidになるよう)
    バグと思うが、VBAからの透過設定はあきらめるしかないかと。
    (マイクロソフトに申告だけしておくとか、問い合わせるとか)

    このTransparencyプロパティは、取得も正しくなさそうです。
    (異常な値が返る)

    また、ForeColorプロパティは設定はされるものの、取得は正しくないです。
    (設定は有効でも取得では不明な値)
    これに関しては、
      MarkerForegroundColorプロパティ
    を使うと、設定、取得ともに正しく動作する。
    ただし、.Format.Fillの下で使うのではなく、
     .FullSeriesCollection(1).MarkerForegroundColor
    との使い方のようです。
    この手で、Transparencyにも他の指定とかあるかと探したけどわからなかった。
    (以上)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません