| 
    
     |  | ▼neptune さん: >こんにちは
 >
 >やったことないし、思いつきだけで実験もしてないので
 >そのつもりでお願いします。
 >本来は余りやりたくない手段ですが、最後の手段?ということで。
 >
 >セルを削除するとWorksheet_Changeイベントが発生する見たいなのでこれを利用する。
 >1.Flgを広域変数として持つ
 >public flg as boolean
 >Changeイベントで
 >flg=true
 >にする。
 >
 >2.Sub 選択している行全体を削除 内で待つ処理を追加
 >'Alt+E+Dのコマンドを送る(これで行の削除を実行)
 >flg=false '初期設定
 >  Application.SendKeys ("%ED")
 >'フラグがTrueになるのを待つ
 >do until flg=true
 >doevents
 >loop
 >
 >じゃ駄目ですかね??
 
 >neptuneさん
 遅くなって申し訳ありません。
 ご回答ありがとうございます。
 
 おっしゃった通りやってみたところ、
 イベントを待ってからセル選択する部分はうまくいきました!
 なるほど、Worksheet_Changeイベントを活用する手があるんですね。
 
 ただ、これだと、Undoが効かなくなるみたいなんです。
 ちょっと理由は分かりませんが…。
 
 あと質問には書いていませんでしたが、Worksheet_ChangeイベントってそのSheetのみに有効ですよね?
 PERSONAL.XLSのVBAに記述しても全てのSheetに適用はされませんよね?
 できれば、エクセルを開いたときに常にこの機能を使えるようにしたいのですが・・・。
 
 ちょっと自分でももう少し考えてみます。
 どうもありがとうございます!
 
 
 |  |