プロが教える店舗&オフィスのセキュリティ対策術

エクセルVBAの初心者です。

VBAを組んでいて表のデーターをリストボックスに表示しています

選択されたリストボックスの値はわかるのですが、リストボックスの上から

何行目を選択したかどうか知りたいのですが、わかる方がおられましたら

よろしくお願いします。

A 回答 (3件)

こんにちは。



何行目を選択したかは、ListIndexプロパティを使います。
但し、これは、一番目が0からになりますので
実際の見た目からすると1行少ない値が返ります。
で、1を加えて、ListIndex+1 が見た目の行になります。
 
Msgbox ListBox1.ListIndex + 1 & " 行目を選択しました"

以上です。
    • good
    • 0
この回答へのお礼

Msgbox ListBox1.ListIndex + 1 & " 行目を選択しました" を

実行したところうまく実行できました。有難うございました

今後もよろしくお願いします

お礼日時:2007/01/23 13:25

★追記。


・調べたら『ByVal』は必要ないようですね。ごめんなさい。

Public ListIndex As Long
Const LB_GETCURSEL = &H188

'選択項目番号の取得
ListIndex = SendMessage( Listbox.hWnd, LB_GETCURSEL, 0, 0 )

参考URL:http://forums.belution.com/ja/vb/000/005/65s.shtml
    • good
    • 0
この回答へのお礼

ListIndexをEXCELVBAで使ったらうまく処理できました。

有難うございました。それにしてもC言語は難しいそうですね

お礼日時:2007/01/23 13:28

★初心者さんですか?


・………。
・私は C/C++ 言語ですが、リストボックスの現在選択している位置は
 リストボックス専用の LB_GETCURSEL メッセージで取得できます。
・次の1行で取得できますけど、あまり Visual Basic には詳しくないです。
・『SendMessage( Listbox.hWnd, LB_GETCURSEL, 0&, ByVal 0& )』この
 関数の戻り値に選択位置が 0~??? の通し番号で返されます。
・わかりますか?
・『Listbox.hWnd』がリストボックスのウインドウ・ハンドルですよ。
・以上。おわり。

参考URL:http://hanatyan.sakura.ne.jp/vbdengon/log_1051to …
    • good
    • 0

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

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


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