
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
回答ありがとうございます。
ご指摘の通りにしたところ、うまくいきました。
見た目だけの問題なのですが、解決してすっきりしました。
ありがとうございました。
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ランキング
-
Excelマクロのエラーを解決した...
-
特定の文字を含むシートだけマ...
-
【ExcelVBA】全シートのセルの...
-
実行時エラー'1004': WorkSheet...
-
【VBA】全ての複数シートから指...
-
別のシートから値を取得するとき
-
excelのマクロで該当処理できな...
-
VBAマクロでシートコピーした新...
-
VBA 検索して一致したセル...
-
ワークシートを追加したときの...
-
XL:BeforeDoubleClickが動かない
-
実行時エラー1004「Select メソ...
-
Excel VBA での計算について…
-
VBAで指定シート以外の選択
-
Excel チェックボックスにチェ...
-
Excel VBA リンク先をシート...
-
VBA 指定した回数分、別シート...
-
コマンドボタンをクリックでシ...
-
【Excel VBA】Worksheets().Act...
-
エクセルのマクロでアクティブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
エクセルのシート名変更で重複...
-
【ExcelVBA】全シートのセルの...
-
VBA 存在しないシートを選...
-
ブック名、シート名を他のモジ...
-
Excel チェックボックスにチェ...
-
VBA 検索して一致したセル...
-
エクセルで通し番号を入れてチ...
-
シートが保護されている状態で...
-
【VBA】特定の文字で改行(次の...
-
ExcelのVBAのマクロで他のシー...
-
Worksheet_Changeの内容を標準...
-
EXCELVBAを使ってシートを一定...
おすすめ情報