質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

3739閲覧

VBAのListBoxのClickイベントで同じ場所を連続でクリックしてもイベントを取得したい

Yuiti628

総合スコア71

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/09/16 09:35

vbaで業務システムを軽く作っています。

listboxにいくつか製番をいれており、クリックするとその値取得しています。

1回だけなら問題ないのですが、1度クリックするとカーソルがその位置に残り、連続でクリックしてもなにもおきせん。

  • 1
  • 2
  • 3
  • 4

があった場合、1→2→1は全部大丈夫ですが、1→1→1は最初の1しか反応しません。
MouseDownを使うと連続のクリックにも対応していますが、ListBox1.ListIndexが使えず、どこをクリックしたのかはX,Yの座標から取得しないとダメで、それは避けたいです。

ListBox1.ListIndexを使える形でいい方法はないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

MouseUpイベントはどうでしょうか。

vba

1Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 2 Debug.Print ListBox1.ListIndex 3End Sub

ただ、リストの余白部分をクリックした場合も発生するので、その対策が必要になりますね。
どうしたものか。

投稿2020/09/16 11:50

編集2020/09/16 12:05
hatena19

総合スコア33790

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yuiti628

2020/09/16 12:08

できました!! ありがとうございます。
hatena19

2020/09/17 01:19

回答にはありますが、リストボックスのアイテム数が少なくて下に余白がある場合、そこをクリックしても、MouseUpが発動しますので、その対策が必要ですが、その辺は大丈夫ですか。 アイテム数は多くて余白がないならいいですが。
Yuiti628

2020/09/17 10:52

そこは大丈夫です! 余白がないようになっていました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問