
みなさま
こんにちは
ユーザーフォームのイベント処理についておしえください。
ユーザフォームには
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBA テキストボックスへのセットフォーカスについて
Visual Basic(VBA)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
-
4
入力した値をコンボボックスにすぐに反映させる方法
Excel(エクセル)
-
5
Access でレコードセレクタが押されたときのイベントは?
その他(プログラミング・Web制作)
-
6
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
7
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
8
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
9
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
10
ACCESS ADOでupdateが効かない
その他(データベース)
-
11
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
12
ユーザーフォームのSetFocusが働かない?
その他(プログラミング・Web制作)
-
13
イベントの違いを教えてください。
Visual Basic(VBA)
-
14
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
15
どこにもフォーカスを当てたくない
Access(アクセス)
-
16
ユーザーフォームのテキストボックスに前回入力した値を表示する Excel
Visual Basic(VBA)
-
17
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
19
Access VBA の BeforeUpdate と AfterUpdate に違い
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
C#プログラムで、ボタンをショ...
-
ボタンをマウスで押し続けたと...
-
ユーザーフォームに別シートか...
-
フォームの再読み込み
-
VBA CommandButtonの文字ずれ
-
コマンドボタンやイメージにマ...
-
アイコンとボタンの違い
-
セルをマクロのボタンにしたい。
-
VBAで多数のプログラムを一つの...
-
[Excel VBA]コマンドボタンの入...
-
ASP.Net ラベルの内容をすぐに...
-
C#で動的に作ったtextboxを消す。
-
マルチページで現在開いている...
-
ボタンの表示を改行表示したい
-
Access VBA でデータペーストを...
-
Vba 電卓 一文字消すボタン
-
リストボックス 何も洗濯され...
-
VBAのボタンの位置が変わって困...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBAで多数のプログラムを一つの...
-
Excel VBA Application.caller...
-
VBA CommandButtonの文字ずれ
-
コマンドボタンやイメージにマ...
-
C#プログラムで、ボタンをショ...
-
BorlandC++Builderでのタイマー...
-
[VB.net] ボタン(Flat)のEnable...
-
フォームの再読み込み
-
ボタンをマウスで押し続けたと...
-
閉じると「+」になり開くと「-...
-
Access VBA でデータペーストを...
-
C#でSendInputを使ったサンプル...
-
バックスペース機能の作り方
-
アイコンとボタンの違い
-
セルをマクロのボタンにしたい。
-
Excel マクロ 閉じるボタン
-
VBAのボタンの位置が変わって困...
おすすめ情報
こんばんは。
listboxのデータ指定方法は
ROW SOURCE a1:c4としております。
ありがとうございました。
イベント回避はできないので、(UPDATE)がはしったら抜ける処理を入れてます。
まぁ。ぼっくんもわかってないのでこちらでしめさせていただきます。(閉店ガラガラ)
それではまた バイバイキーン