
No.2ベストアンサー
- 回答日時:
#意外と手ごわい...
グラフシート、シート上ChartObjectsとも共通で、
素直にバージョン分岐して以下のコードで何とか。
If Not ActiveChart Is Nothing Then
If Val(Application.Version) > 11 Then
With ActiveSheet
.Protect DrawingObjects:=True
.Unprotect
End With
Else
ActiveChart.Deselect
End If
End If
この回答へのお礼
お礼日時:2012/10/17 16:16
回答ありがとうございます。
ご指摘の通りにしたところ、うまくいきました。
見た目だけの問題なのですが、解決してすっきりしました。
ありがとうございました。
No.1
- 回答日時:
>Excelのブックにグラフシートがあり、それをVBAで操作した後、2003では ActiveChart.Deselect で選択を解除できたのですが、
グラフシートですか?
シート上のChartObjectではなく?
シート上のChartObjectなら以下のレスで良かったのですが。
Deselectメソッドは2007からHidden(非表示メンバ)になりました。
http://msdn.microsoft.com/en-us/library/bb242669 …
2010のヘルプにも載っているかと思います。
別にエラーになるわけではなく、機能しないような感じですが。
2003でのDeselectメソッドは指定されたグラフの選択を取り消します。
取り消した後のSelectionはNothingなので、厳密に言えば違いますが
選択解除するという目的だけなら
ActiveCell.Activate
..でいけるはず。
(これは2003の場合は逆にエラーになります)
どうしても2003と2010共通で処理したいなら
Dim r As Range
Set r = ActiveChart.Parent.TopLeftCell
Application.Goto r
Application.Goto r
..な感じになります。
ただし、結果としてシート上ChartObjectのTopLeftCell選択になり、
ActiveCell.Activate の結果とは異なります。
それでも良ければ
Application.Goto ActiveChart.Parent.TopLeftCell で。
(これは2003の場合は2回繰り返さないとダメなようです)
もっとも、一番良いのはActiveChartが必要な状況を排除する事です。
全てVBAコード内で処理してるのなら、Chart選択しないコードにしたほうが良いです。
#今2010の環境で試せなくて、2007での確認なので外してたらすみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
実行時エラー1004「Select メソ...
-
エクセルVBA Ifでシート名が合...
-
excelのマクロで該当処理できな...
-
VBA 存在しないシートを選...
-
特定の文字を含むシートだけマ...
-
エクセルの絶対参照の一括操作...
-
【VBA】色のついたシート名を取得
-
実行時エラー'1004': WorkSheet...
-
Worksheet_Changeの内容を標準...
-
Excel チェックボックスにチェ...
-
ExcelのVBAを使い、複数シート...
-
同ブックの別シートの表から、...
-
書式のみを変更できなくする方法
-
ExcelVBA シート名を複数セルか...
-
XL:BeforeDoubleClickが動かない
-
ExcelのVBAのマクロで他のシー...
-
オートシェイプの文字が更新さ...
-
Excel VBA 複数行を数の分だけ...
-
エクセルのマクロで条件一致の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
VBA 存在しないシートを選...
-
エクセルで通し番号を入れてチ...
-
VBA 検索して一致したセル...
-
XL:BeforeDoubleClickが動かない
-
VBA 指定した回数分、別シート...
-
VBAマクロでシートコピーした新...
-
シートが保護されている状態で...
-
ブック名、シート名を他のモジ...
-
【VBA】全ての複数シートから指...
-
別のシートから値を取得するとき
-
ExcelのVBAのマクロで他のシー...
-
Excel チェックボックスにチェ...
おすすめ情報