2017-07-21 5 views
0

フォームにリストボックスを持つAccessデータベースがあります。このリストはスクロールすることができますが、一度リストがスクロールされると、トップアイテムが何であるかを知る必要があります。スクロールリストボックスVBAの先頭項目を取得

Ganttビューに似たシンクロナイゼーションビューを作成したいと思っています。これはリストの隣にありますが(これにはすでにコードがありますが)、トップアイテムが何であるかを知ることができますどの項目が同期表示の一番上にある必要があるか分かります。

ご協力いただければ幸いです。

ありがとうございます。

+0

おそらく、表示された行。しかし、このIDはAccessでは公開されていません。ユーザーは行を選択しなければなりません。そして、コードはこのIDとチャートを同期させることができます。 – Gustav

+0

マクロ記録を開始し、リストボックスを数回スクロールします。多分使用の何かが記録されるでしょう – jsotola

答えて

0

リストの後にインデックスを使用できます。例では、メッセージボックスに表示するために、あなたは使用することができます。

MsgBox ComboBox1.List(0) 

を0

EDIT役立ちます 1が第二などで、リスト内の最初の項目など

希望ある場合は:

ここでは、テストとして試したコードはうまくいきました。

Private Sub UserForm_Click 
MsgBox ListBox1.List(0) 
End Sub 



Private Sub UserForm_Initialize() 
UserForm1.ListBox1.AddItem "a" 
UserForm1.ListBox1.AddItem "b" 
UserForm1.ListBox1.AddItem "c" 
UserForm1.ListBox1.AddItem "d" 
UserForm1.ListBox1.AddItem "e" 
End Sub 

それは最初の項目は、(移入するためのコードは、それが最初に添加されることを示すために含まれている)、リストボックスに追加され、これは、「」内の文字でメッセージボックスを示しています。文字通りListBoxの最初の項目を表示したい場合は、これが機能します。ユーザーがスクロールしたかどうかに基づいて、その時点でリストの先頭を表示する場合は、私に知らせてください。この解決方法を試してみましょう。

+0

こんにちは、ありがとう、私はそれによって少し混乱しています。フォーム上でユーザーがスクロールダウンできるリストボックスを使用しています。彼らがどこにスクロールしたのかわからないので、アイテムデータを取得するためのインデックスを知らないでしょう。そのため、vboxにlistbox.topindexのようなものがあるかどうか疑問に思ったのは、 –

+0

(0)は常にComboBoxから一番上の項目を参照するということです。私はそれがあなたが望んだものだと思った? – wrslphil

+0

リストボックス内で同じである必要があります – wrslphil

関連する問題