プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。
散布図グラフに対して、VBAを用いた線種設定をさせたいと思っております。

現在、A1セルにグラフの線種(例えばmsoLineDashやmsoLineSolidなど)を入力して置いたらそのように線種が変わるようにしたかったです。

Dim D As string
D=cells(1,1).value
としたのちに
ActiveChart.FullSeriesCollection(1).Select
With Selection.Format.Line
.DashStyle = D
End With

としてやっていたのですが、
.DashStyle = D
のところで
「型が一致しません」
というエラーではねられています。
.DashStyle = msoLineDash
としてやれば問題なく通るのでちょっと原因がわかりません。
.DashStyle = には変数が使えないのでしょうか?

A 回答 (2件)

msoLineSolid=実線(1)


msoLineSquareDot=点線(角)(2)
msoLineRoundDot=点線(丸)(3)
msoLineDash=破線(4)
msoLineDashDot=一点鎖線(5)
msoLineDashDotDot=二点鎖線(6)
msoLineLongDash=長破線(7)
msoLineLongDashDot=長鎖線(8)

msoLine… は VBA で使用出来る定数です。エクセルのセルでは使えません
例えば「実線」を指定したい時は A1 セルに「msoLineSolid」ではダメで「1」ならOKです。
もちろん「Dim D As string」も「Dim D As Long」に変更して下さい
    • good
    • 0
この回答へのお礼

ありがとうございます。
全然分からず四苦八苦していたので助かりました。
そうなんですね。VBAのみに使用できる定数というのもあったのですね。
全然知りませんでした。

お礼日時:2020/02/06 23:41

「msoLineDash」は文字列ではなく、定数の「4」です。



「MsgBox (msoLineDash)」のようにすれば調べなくても判ります
    • good
    • 0
この回答へのお礼

ありがとうございます。
他のラインについても調べてみます。

お礼日時:2020/02/06 23:42

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