• 締切済み

Worksheet_Changeイベントでのセル設定

マクロ初心者です。Excel2003です。 Sheet1に下記のイベントを記述しましたが、(3)だけ動作してくれません。 シート上では、N27とO27の2つのセルが結合されており、入力規則でリスト選択(3択)する設定になっています。(1)や(2)のように認識してくれるようにするにはどうしたらいいでしょうか? どなたか教えてください。よろしくお願いします!! Private Sub Worksheet_Change(ByVal Target As Range)  Select case Target.Address   (1)Case "$E$5"     ・・・   (2)Case "$E$6", "$E$24", "$N$6"     ・・・   (3)Case "$N$27"     ・・・  End Select End Sub

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

下記でエラーになりませんでしたが。 追試のつもりで (1) Sheet1のChangeイベントに Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Address Case "$E$5" MsgBox "$E$5" Case "$E$6", "$E$24", "$N$6" MsgBox "$E$6 Or $E$24 Or $N$6" Case "$N$27" MsgBox "$N$27" End Select End Sub (2)N27セルとO27セルを結合 N27セル(他にE5,E6,E24,N6)にデータを入力してみると、止まることなく動きましたが。 私のテストがおかしいですか。 N27セルとO27セルを結合した場合N27に入力するのは当たり前だし。 Sub test01() Range("O27").Select End Sub も実行OKでした。 ーー >入力規則でリスト選択(3択)する これは関係ないと踏んで、テストに取り入れてませんが、影響しますかね。

mikan630
質問者

お礼

imomasi様 お答えどうもありがとうございます。 大変申し訳ありません!私のミスで大事な記述が抜けていました!! Select caseの前に下記の4行がはいっています。 (1)If Target.Address <> "$E$5" And Target.Address <> "$E$6" _ (2)  And Target.Address <> "$E$24" And Target.Address<>"$N$6"_ (3)  Then Exit Sub (4)If Target.Count = 1 Then (3)に「And Target.Address <> "$N$27"」を付け加えたら動きました。 すみませんお騒がせしました! 機会がありましたら、またご教授願います!!

関連するQ&A