dポイントプレゼントキャンペーン実施中!

現在、エクセルにて
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を構文内に色々当てはめてみましたが、エラーが出てしまいます。
どのように記述すれば一括表示できるでしょうか。


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

A 回答 (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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!