VBAのフォーム上で、複数選択ができるListBox1を作っています。
ListBox1を選択する度に、ListBox2へListBox1の選択内容で
絞り込んだListBox2のリストを作るという処理をしたいのですが、
ListBox1_ClickイベントでListBox1のリストクリック時に
何も反応がありません。
.MultiSelect = fmMultiSelectSingle
で指定した複数リストボックスはClickイベントが拾えないのでしょうか?
ListBox1リスト内のデータ選択・解除の度にイベントが
発生するようにしたいです。
宜しくお願いします。
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
listbox1に、値をセットして、以下のイベントを
書いて、ユーザーフォームを表示し、クリックすると
イミディエイトウィンドに、値が出ますよ。
Private Sub ListBox1_Click()
Debug.Print UserForm1.ListBox1.Value
End Sub
>複数選択ができるListBox1
これを書いて、
>MultiSelect = fmMultiSelectSingle
一体、、何がしたいのですか、??
回答ありがとうございます。
記述を間違えました。すいません。
MultiSelect = fmMultiSelectMulti
です。
やはり、ListBox1_Clickではイベントが発生しないようです。
No.3
- 回答日時:
お急ぎのようですので、横から失礼して。
。。>Changeでも無理でした。。
これは2通りの意味に取れます。
1.Changeイベントの発生が確認できなかった
2。Changeイベントでのコードがうまく動作しなかった
Changeイベントは発生するので、2の意味だろうと推測します。
なら、Changeイベントのコードを提示した方がいいでしょう。
以上です。
No.4
- 回答日時:
>やはり、ListBox1_Clickではイベントが発生しないようです
まさかと思いますが。異様に器用なことをしていません。
まさか、標準モジュールにイベント書いていないですよね。
イベントは、フォームに貼り付けた、
リストボックスをダブルクリックして、
コードを書くところを出しますが。
私の勘違いなら、ごめん!!
No.6
- 回答日時:
なるほど、
シングルセレクトしか、確認していませんでした。
複数選択にすると、clickイベントは、
何も出ませんね。
changeイベントだと、nullを返すので、
質問者さんの、反応無しは、不思議ですね。
myRangeさん、ありがとうございました。
No.7
- 回答日時:
マルチセレクトで、listboxの値を拾うのは、
以下のような感じで、拾えました。
Private Sub ListBox1_Change()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Debug.Print ListBox1.List(i)
End If
Next
End Sub
No.8
- 回答日時:
>Changeでも無理でした。
。そーですか
イベント発生確認のためのサンプルを作ってみましたので試してみてください
準備
新しいブックを作成する
userformを作成し
listbox を1つ
label を1つ
textbox を1つ
commandbutton を2つ
これをuserform上に作成してください
配置、大きさは適当でよいです
次のコードすべてをuserformモジュールへコピペしてください
後は、作成したuserformを表示してください
Private Sub UserForm_Initialize()
If Range("a1").Value = "" Then ActiveSheet.Range("a1:a10").Formula = "=row(a1)*7"
ListBox1.RowSource = "a1:a10"
ListBox1.MultiSelect = fmMultiSelectSingle
Label1.Caption = "Singl"
CommandButton1.Caption = "Singl"
CommandButton2.Caption = "Multi"
End Sub
Private Sub CommandButton1_Click()
ListBox1.MultiSelect = fmMultiSelectSingle
Label1.Caption = "Singl"
End Sub
Private Sub CommandButton2_Click()
ListBox1.MultiSelect = fmMultiSelectMulti
Label1.Caption = "Multi"
End Sub
Private Sub ListBox1_Click()
MsgBox "クリックイベント発生"
TextBox1.Value = ListBox1.Value
End Sub
Private Sub ListBox1_Change()
If Label1.Caption = "Singl" Then Exit Sub
MsgBox "チェンジイベント発生"
'知りたいのは、これのような気がします↓↓
TextBox1.Value = ListBox1.List(ListBox1.ListIndex)
End Sub
サンプルのデータは表示されているシートに勝手に作成します
commandbuttonでsinglselectかmaltiselectの選択が出来ます
labelには現在の設定が表示されます
textboxにlistboxで選択した値が表示されます
多分、これで解決するのではと思いますが
私の見当違いでしたら無視してください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで 3 2022/04/03 21:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- 年賀状作成・はがき作成 エクセルで作った住所録をワードの差し込み印刷ではがきに印刷したい 3 2022/09/26 15:47
- Visual Basic(VBA) Outlook VBAについて 1 2023/07/10 12:41
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Mac OS Mac iPhoneの連絡帳の大量のリストを削除したい 1 2023/05/12 23:30
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- Excel(エクセル) Excelで質問です。 詳細(写真) ①黄色の部分を全てプルダウンを設定する。 ②リストはG列 ③リ 1 2023/06/16 21:54
- Excel(エクセル) 範囲選択すると最後の一行で急に出てくる#が邪魔で困っています。 ExcelでVLOOKUPで引っ張っ 2 2022/08/31 10:03
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
EXCEL2013 VBA ListBox 未選択
Excel(エクセル)
-
VB6,リストボックスの特定行の色変更は可能?
Visual Basic(VBA)
-
ユーザーフォーム スクロールバー 非表示にしたい
Excel(エクセル)
-
-
4
リストボックスの特定行の背景色
Visual Basic(VBA)
-
5
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
8
リストボックスの選択解除
Visual Basic(VBA)
-
9
エクセルVBAで複数選択できるように設定したリストボックスの、選択され
Visual Basic(VBA)
-
10
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
11
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
12
ListBoxで改行したい
Visual Basic(VBA)
-
13
UserForm1.Showでエラーになります。
工学
-
14
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
15
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
16
EXCEL VBA リストボックスの列を指定してForeColorを変更する方法について
Excel(エクセル)
-
17
Excel vba ListBoxについて
Excel(エクセル)
-
18
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
19
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
20
【VBA】【ユーザーフォーム_ListBox】オートフィルタで絞りこんだ値だけを取り出したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ASP.NET】マスターページに配...
-
複数選択のListBoxでClickイベ...
-
VBのタイマーイベントについて
-
【ASP2.0】TextBoxのフォーカス...
-
[ASP.NET] ページ内でジャンプ。
-
ドラッグドロップ(AllowDrop)に...
-
DataGridViewのチェックボック...
-
エクセルVBAで画面の大きさを取...
-
チャレンジタッチの画面にスマ...
-
Q&Aフォームを作成したいのです...
-
Accessの画面更新を一時的に停...
-
別ブラウザにセッションを渡す...
-
Webページ上のボタン等の位置を...
-
aspxをhtmlに変換する方法について
-
c# 文字列の最後から1文字削除...
-
【ASP.NET】ページ遷移してもGr...
-
ブラウザを閉じずにセッション...
-
ASP.NetのGridViewで任意の行ク...
-
数字のみ入力可
-
テキストボックスのクリックで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数選択のListBoxでClickイベ...
-
ポストバック時の画面スクロー...
-
【ASP.NET】マスターページに配...
-
C#でドラッグ&ドロップが機能し...
-
【VB6】 変数1 = 変数1 Or $H2
-
Ctrl+vのイベントを解除
-
【ASP2.0】TextBoxのフォーカス...
-
リストビュー内でのドラッグ&...
-
自作exeを常駐させるとPCがシャ...
-
[ASP.NET] ページ内でジャンプ。
-
ポストバック(__doPostback)へ...
-
aspxファイル実行時の表示順に...
-
ドラッグドロップ(AllowDrop)に...
-
C#のマルチスレッド処理について
-
slick.jsによるスライダー実装...
-
TreeViewの制御について
-
treeview展開イベント(VS2010C++)
-
コネクション・セッション・ト...
-
Accessの画面更新を一時的に停...
-
画面遷移が不正ですと表示されます
おすすめ情報