みなさま
こんにちは
ユーザーフォームのイベント処理についておしえください。
ユーザフォームには
Multipageを設定しておりPAGE1にLISTOBOXを配置しております。
ユーザフォーム内にCheckBox1を配置しそのボタンにレ点をいれると
複数行選択(fmMultiSelectMulti)できるように(fmMultiSelectMulti)を設定
チェックボックスをONにすると複数行選択画面になるのですが、
LISTBOX1.AFTERUPDTEイベントが走ってしまします。
回避方法として、同じpage1の領域のなかに適当な「コマンドボタン」
を配置しそのボタンにフォーカスをあてるという処理をいれて「CheckBox1」を押すと
LISTBOX1.AFTERUPDTEが発生しません。
適当なボタン=コマンドボタン15
フォーカスの移動が関係して、AfterUpdateが走っているのかなぁとおもっているんですが 他の方法で回避する方法ってございませんでしょうか?
合計3つのボタンが配置されてます。
ユーザフォーム内には 「CheckBox1」 1つ配置
Multipate(page1)の領域には
「listbox1」、「コマンドボタン15」が1つづつ配置されてます
-------------------------------
Private Sub CheckBox1_Click()
With ListBox1
.MultiSelect = fmMultiSelectMulti
.listStyle = fmListStyleOption
END SUB
---------Afterupdteが発生しないパターン------------
Private Sub CheckBox1_Click()
CommandButton15.SetFocus (これをつけるとlistbox After updateが発生しない)
With ListBox1
.MultiSelect = fmMultiSelectMulti
.listStyle = fmListStyleOption
END SUB
----------コマンドボタン15の処理の中身(参考)-----------------------
Private Sub CommandButton15_Click()
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは
>回避する方法ってございませんでしょうか?
イベントを発生させずに処理を行いたいという意味と解釈しました。
未検証ですが・・・
おきまりの
Application.EnableEvents = False
ではダメということでしょうか?
どうもです。
だめでした。
userform1上にLISTBOXを配置するとAfterUpdateは発生しないのですが、
マルチページ上(page1)に設定すると、AfterUpdateが発生します。
マルチページ上に配置したLISTBOXではAfterUpdateが発生する理由が知りたいです。
あと、Tabstrip上にLISTBOXを配置した場合も発生しません。
No.2
- 回答日時:
AfterUpdateイベント側で最初に状態をみて、本来の処理を行うか否かを判断するしかないのではないでしょうか。
Private Sub ListBox1_AfterUpdate()
If ListBox1.MultiSelect = fmMultiSelectMulti And _
ListBox1.ListStyle = fmListStyleOption Then
Exit Sub
End If
みたいなかんじで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) userformでSheetを選択して開くコード 1 2023/05/15 16:27
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
イベントの違いを教えてください。
Visual Basic(VBA)
-
複数選択のListBoxでClickイベントが拾えません
Visual Basic(VBA)
-
ユーザーフォームで動的(Me.Controls.Add)に作成したコントロールの削除
Visual Basic(VBA)
-
-
4
リストビューをスクロールさせるには
Visual Basic(VBA)
-
5
falseとtrue 0,1,-1 の意味が知りたいです
PowerPoint(パワーポイント)
-
6
エクセルVBA テキストボックスへのセットフォーカスについて
Visual Basic(VBA)
-
7
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
8
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
9
Access VBA の BeforeUpdate と AfterUpdate に違い
Access(アクセス)
-
10
コンボボックスにキー入力をさせない方法(ACCESS VBA)
その他(プログラミング・Web制作)
-
11
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
12
Accessの更新後処理で特定の条件を満たしている場合、フォーカスを移動させない方法
PowerPoint(パワーポイント)
-
13
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
14
EXCEL2013 VBA ListBox 未選択
Excel(エクセル)
-
15
ListViewで列を指定して表示させる方法
Excel(エクセル)
-
16
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
17
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
18
ExcelVBA でリストリストボックスにNULLを挿入
Access(アクセス)
-
19
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
20
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
ボタンを押すごとに違ったメッ...
-
VB.NETでマウスクリックイベン...
-
ボタンをマウスで押し続けたと...
-
ボタンの表示を改行表示したい
-
Excel VBA オプションボタンに...
-
フォームの再読み込み
-
VBS でユーザーからいくつかの...
-
チェックボックスで指定出来る...
-
ボタンの増殖
-
ボタンの状態
-
他のアプリケーションとの連携
-
ユーザフォーム AfterUpdate処...
-
セルをマクロのボタンにしたい。
-
ボタンの文字色を変更したい
-
VBAのボタンの位置が変わって困...
-
3つのオプションボタンの場所...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
フォームの再読み込み
-
VBA CommandButtonの文字ずれ
-
ユーザーフォームに別シートか...
-
VBAのボタンの位置が変わって困...
-
Access VBA でデータペーストを...
-
Excel VBA Application.caller...
-
セルをマクロのボタンにしたい。
-
コマンドボタンやイメージにマ...
-
ボタン
-
プロシージャからイベントをコ...
-
ボタンをマウスで押し続けたと...
-
VBA でのボタンの移動について
-
C#で動的に作ったtextboxを消す。
-
バックスペース機能の作り方
-
VBAで多数のプログラムを一つの...
-
アイコンとボタンの違い
-
TextBoxでEnterキーを押すと、...
-
VBA IE ダウンロード ダイアロ...
おすすめ情報
こんばんは。
listboxのデータ指定方法は
ROW SOURCE a1:c4としております。
ありがとうございました。
イベント回避はできないので、(UPDATE)がはしったら抜ける処理を入れてます。
まぁ。ぼっくんもわかってないのでこちらでしめさせていただきます。(閉店ガラガラ)
それではまた バイバイキーン