[[20060630134037]] 『Worksheet_Changeイベントで行削除されたかわかり』(タイニー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Worksheet_Changeイベントで行削除されたかわかりますか?』(タイニー)
 Worksheet_Changeイベントで、
 D列からG列までは、変更して欲しくない列なので、

 If Application.Intersect(Target, Range("D:G") Is Nothing) = False Then
   MsgBox "変更出来ません。"
   Application.EnableEvents = False
   Application.Undo
   Application.EnableEvents = True
 End If

 上記のようにマクロを書いたら、行削除もできなくなってしまいました。
 D:Gからは入力させたくないが、行削除はいいという場合は、
 どのようにしたらよいですか?


 例えば
 初期設定として
 A65536のセルを名前定義して「最後とする」
 A1セルに
 =ROW(最後)

 シートモジュール
 Private Sub Worksheet_Calculate()
    If IsError(Range("A1").Value) Then
       MsgBox "多分挿入"
    ElseIf Range("A1").Value <> 65536 Then
       MsgBox "多分削除"
    End If
 End Sub

 セルが削除された時挿入された時は都度初期設定をやり直す。
 後は見合った方法で処理してください。
 (Jaka)

  (Jaka)さんできました。こんな方法があったのですね。
 ありがとうございました。(タイニー) 

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.