Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


30707 / 76732 ←次へ | 前へ→

【51289】Re:Application.Sendkeysで送ったコマンドが実行されるのを待つ方法
お礼  やまP  - 07/9/10(月) 15:10 -

引用なし
パスワード
   ▼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に適用はされませんよね?
できれば、エクセルを開いたときに常にこの機能を使えるようにしたいのですが・・・。

ちょっと自分でももう少し考えてみます。
どうもありがとうございます!

0 hits

【51249】Application.Sendkeysで送ったコマンドが実行されるのを待つ方法 やまP 07/9/5(水) 21:15 質問
【51253】Re:Application.Sendkeysで送ったコマンド... neptune 07/9/5(水) 22:23 発言
【51289】Re:Application.Sendkeysで送ったコマンド... やまP 07/9/10(月) 15:10 お礼
【51254】Re:Application.Sendkeysで送ったコマンド... ichinose 07/9/5(水) 23:21 発言
【51256】Re:Application.Sendkeysで送ったコマンド... neptune 07/9/6(木) 9:56 発言
【51291】Re:Application.Sendkeysで送ったコマンド... やまP 07/9/10(月) 15:44 お礼
【51257】マクロじゃないけど。 Jaka 07/9/6(木) 11:23 発言
【51258】Re:マクロじゃないけど。 Jaka 07/9/6(木) 11:51 発言
【51293】Re:マクロじゃないけど。 やまP 07/9/10(月) 15:55 お礼
【51294】解決致しました! やまP 07/9/10(月) 16:09 お礼

30707 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free