- ベストアンサー
VBAでワークシートとグラフシートの判別
VBAでワークシートがactiveになっている時だけ実行プログラムを書きたいのですが ワークシートとグラフシートの判別する分岐をif文で作成するには どのように書けば良いですか? 検索してみても見つかりませんでした。 どなたかよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
これをグラフシートと、ワークシートで実行してみると Sub test() Debug.Print ActiveSheet.Type, Debug.Print TypeName(ActiveSheet), Debug.Print TypeOf ActiveSheet Is Chart End Sub 'Graphsheet '4, Chart, True 'Worksheet '-4167, Worksheet, False Typeが戻す値が、グラフシートの時、下記の記述や、手持ちのポケットリファレンスの記述と違っているのですが、理由はわかりません。addメソッドの場合とは異なるのでしょうか? http://www.moug.net/tech/exvba/0040048.html いずれにせよこれらで判別できると思います。
その他の回答 (1)
- mitarashi
- ベストアンサー率59% (574/965)
回答No.2
#1です。 グラフシートの時、Activesheet.typeはグラフの種類にも影響される様です。棒グラフにすると3を戻したりします。 TypeName(Activesheet)をお使い下さい。