プロが教えるわが家の防犯対策術!

エクセルVBEのListBoxのイベント(change、BeforeUpdate、AfterUpdate)の使い方の違いが分かりません。
具体的例で簡単に教えていただきたいのですが。(web上にあればそれでも結構です。)

A 回答 (1件)

>エクセルVBEの


リストボックスにも
(1)ワークシートに貼り付ける
(2)ユーザーフォームに貼り付けるばあいを明確に意識し、質問に書くこと。
(1)ではBeforeUpdateは見つからなかった。
ーー
(2)では
http://home.att.ne.jp/zeta/gen/excel/c04p32.htm
の終わりのほうに解説があるが、良くわからない。エクセルVBAのリストボックスぐらい(アクセスの関連説明が多い)ではあまり使う場合は無いのではとおもう。
Private Sub ListBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
とBeforeUpdateはCancel   がある。
Private Sub ListBox1_AfterUpdate()
にはない。
http://www.geocities.jp/cbc_vbnet/kisuhen/Event. …
    • good
    • 0
この回答へのお礼

教えていただいたページに書いてあった例をコントロールを作り、イミディエイトウィンドウを表示して
試してみました。次のような結果になり理解できました。ありがとうございます。
●Changeはデータを一部でも変更するたびにイベントが発生し、フォーカス移動が可能になる。
●AfterUpdateはデータを全部変更した時点でイベントが発生し、フォーカス移動が可能になる。
●BeforeUpdateはフォーカスを移動させる前に、自分で設定した条件にデータが合うかをチェックできて(数値か文字か等)、もし条件に合わなければ変更をキャンセルしてフォーカスを移動させない。合えばAfterUpdateと同じになりフォーカスを移動できる。

お礼日時:2011/04/09 12:55

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A