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

締切り済みの質問

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

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

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

その中で、sheet1にチェックボックスを1つ設置し、チェックONでsheet2任意の場所に
4個のオートシェイプの楕円を一括表示、チェックOFFで4つの楕円を一括消去、
とさせたいのですが、うまくいきません。

sheet1上にチェックボックス1個・楕円を1個設置し、
-------------------------------------------
Sub test01()
With ActiveSheet
If .CheckBoxes(Application.Caller).Value = xlOn Then
worksheets("sheet2").Shapes("楕円1").Visible = True
Else
worksheets("sheet2").worksheets.Shapes("楕円1").Visible = False
End If
End With
End Sub
-------------------------------------------
とイベント設定をしたところ、チェックON/OFFで楕円1個の表示/非表示はできるように
なりました。

残りの楕円2、3、4を構文内に色々当てはめてみましたが、エラーが出てしまいます。
どのように記述すれば一括表示できるでしょうか。


連投申し訳ないですが、詳しい方アドバイスを宜しくお願いします。

投稿日時 - 2011-08-03 01:21:20

QNo.6917544

困ってます

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

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

回答(1)

ANo.1

>残りの楕円2、3、4を構文内に色々当てはめて
>みましたが、エラーが出てしまいます。
 その エラー の出た「構文」と エラー の内容をここにお知らせいただいた方がよいですね。

 いろいろとやり方はあろうかと存じます。
 一応、私の環境では下のでいけました。

Sub test01()
 With Worksheets("sheet2").Shapes. _
  Range(Array("Oval 1", "Oval 2", "Oval 3", "Oval 4"))
  .Visible = (ActiveSheet.CheckBoxes(1).Value = xlOn)
 End With
End Sub

投稿日時 - 2011-08-03 15:12:32

あなたにオススメの質問