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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 散布図グラフ 外れ値 セル番地参照方法 4 2022/04/19 18:56
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- その他(ブラウザ) Excel VBA seleniumのedge操作について 業務上、分からないことがございまして、先 1 2022/06/20 16:59
- Excel(エクセル) EXCELでグラフを作るとき、縦軸を時間軸にするには? 2 2023/06/09 12:23
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Excel(エクセル) Excel操作について。 社内で一つのExcelファイルを4人合計4台のpcで共有して仕事をしていま 2 2022/05/31 07:35
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
- Excel(エクセル) VBAで「クエリと接続」の画面を出せますか? 2 2022/10/24 13:35
- Excel(エクセル) Excelから複数のWordファイルを操作する方法について教えて頂きたい。 やりたいことは、複数のW 2 2022/07/26 20:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
同じ作業を複数のシートに実行...
-
特定の文字を含むシートだけマ...
-
【Excel VBA】Worksheets().Act...
-
XL:BeforeDoubleClickが動かない
-
excelのマクロで該当処理できな...
-
VBAで指定シート以外の選択
-
Excelマクロのエラーを解決した...
-
ExcelVBA シート名を複数セルか...
-
VBAでオブジェクト変数にsetし...
-
ExcelのVBAのマクロで他のシー...
-
実行時エラー'1004': WorkSheet...
-
シートが保護されている状態で...
-
エクセルのマクロについて教え...
-
セルのコピーで「オブジェクト...
-
VBA 存在しないシートを選...
-
エクセル・マクロ シートの非...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
同じ作業を複数のシートに実行...
-
ExcelVBA シート名を複数セルか...
-
【ExcelVBA】全シートのセルの...
-
Excel マクロについての相談
-
VBA 存在しないシートを選...
-
実行時エラー'1004': WorkSheet...
-
特定の文字を含むシートだけマ...
-
ExcelのVBAのマクロで他のシー...
-
ブック名、シート名を他のモジ...
-
XL:BeforeDoubleClickが動かない
-
VBA 複数の各シートに行を追加...
-
エクセルのシート名変更で重複...
-
【Excel VBA】Worksheets().Act...
-
シートが保護されている状態で...
-
Excel VBA 複数行を数の分だけ...
-
for 文の 繰り返し処理に使える...
おすすめ情報