こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル:チェックボックスで他シートの図形を操作。

質問させていただきます。

現在、エクセルにて
sheet1に帳簿内容入力画面
sheet2に入力画面の項目を反映した印刷用帳簿

というものを作成しています。

その中で、sheet1にチェックボックスを設置し、チェックONでsheet2任意の場所に
オートシェイプの楕円を表示(チェックOFFで楕円は消える)させたいのですが、
うまくいきません。

試しにsheet1上にチェックボックス・楕円を設置し、
-------------------------------------------
Sub test01()
With ActiveSheet
If .CheckBoxes(Application.Caller).Value = xlOn Then
.Shapes("楕円1").Visible = True
Else
.Shapes("楕円1").Visible = False
End If
End With
End Sub
-------------------------------------------
とイベント設定をしたところ、sheet1上ではチェックON/OFFで楕円の
表示/非表示ができました。
しかし、実際sheet1にチェックボックス、2に楕円と設置すると「オブジェクトが存在しません」と
エラーになってしまいます。

IF関数のような(シート名!セル名)的に楕円の場所を指定しなければいけないのかな?と
思い、色々試してみたのですが実現できませんでした。

勉強不足で恐縮なのですが、詳しい方アドバイスをいただきたいです。

投稿日時 - 2011-08-01 23:00:40

QNo.6914994

困ってます

質問者が選んだベストアンサー

With ActiveSheet

End With

の中で
.Shapes("楕円1").Visible = True
としている意味は、ActiveSheetの楕円1を表示せよということになるので、
ActiveSheetに楕円1がなければ、言われているようなエラーになります。

Worksheets("Sheet2").Shapes("楕円1").Visible = True
としましょう。

投稿日時 - 2011-08-02 22:03:20

お礼

シート指定はこの様にするのですね!

早速ご指摘通りに修正したところ、問題なく動作しました!
勉強になりました!有難うございます!

投稿日時 - 2011-08-02 23:01:42

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問