データ系列のマーカーの設定部分で苦戦しております。
マーカーの塗りつぶしの色と透過性を任意に設定できるようにしたいのですが、
マクロの記録を基に以下の様に組んでみましたが上手くいきません。
SeriesCollectionでデータ系列毎に
With .Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0) '仮で赤色に設定してみている
.Transparency = 0.5
.Solid
End With
ForeColorで色を設定するとマーカーの色は反映されるのですが、
その後Transparencyで透過性を設定する行が実行されると色の設定が戻ってしまい透過性も反映されません。
また、Solidを実行しても色が変わってしまいます。
任意の透過性を設定するにはどの様にすれば良いでしょうか
実行環境はWindows10でExcel2010を使用しています。
コメント(2件)
今は使ってない非力なパソコンにExcel2010をインストールし直して試してみたけど、
確かにうまくないですね。
また、Excel2016でも結果は同じくだめでした。
solidは特に必要でもないかと思うけど。
(カラーを指定すると一緒にsolidになるよう)
バグと思うが、VBAからの透過設定はあきらめるしかないかと。
(マイクロソフトに申告だけしておくとか、問い合わせるとか)
このTransparencyプロパティは、取得も正しくなさそうです。
(異常な値が返る)
また、ForeColorプロパティは設定はされるものの、取得は正しくないです。
(設定は有効でも取得では不明な値)
これに関しては、
MarkerForegroundColorプロパティ
を使うと、設定、取得ともに正しく動作する。
ただし、.Format.Fillの下で使うのではなく、
.FullSeriesCollection(1).MarkerForegroundColor
との使い方のようです。
この手で、Transparencyにも他の指定とかあるかと探したけどわからなかった。
(以上)