
VB初心者です。よろしくお願いします。ちょっと教えて頂きたいのですが、リストをコントロール配列にして例えばList(1)の何行目かをクリック(選択)したらList(0)とList(2)の同じ行に選択状態をうつしたいのですがどうやったらいいのでしょうか?それから縦スクロールバー(VScroll)とリストの配列をどうして連結したらいいのかわかりません。スクロールしたらリストが最後の行までうごいてくれるには?ご教授頂けないでしょうか?ちなみにListのなかには500行ぐらいあります。
List(0) List(1) List(2) 縦スクロールバー
------------------------------
xxxxxx xxxxxxxx xxxxxxx
xxxxxx xxxxxxxx xxxxxxx
-----------------------------
どうか、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
VBのバージョンやエディションなどを明記しましょう
VB6などなら
ListBoxのClickイベントで処理します
Private Sub List_Click(Index as Integer)
' 再帰防止用フラグ
Static sFlag = Boolean
if sFlag then exit Sub
sFlag = True
dim n as Integer
n = List( index ).ListIndex
Select case Index
case 0
list(1).ListIndex = n
list(2).ListIndex = n
case 1
list(0).ListIndex = n
list(2).ListIndex = n
case 2
list(0).ListIndex = n
list(1).ListIndex = n
end select
sFlag = False
End Sub
VScrollとの連動は Scrollイベントで
Private Sub VScroll1_Scroll()
dim vIndex as Integer
vIndex = VScroll1.Value
List(0).TopIndex = vIndex
List(1).TopIndex = vIndex
List(2).TopIndex = vIndex
End Sub
FormのLoadイベントで
Private Sub Form_Load()
VScroll1.max = List(0).ListCount - 1
End Sub
といった具合です
すべてのリストボックスの項目数が一致しているならばですが
早速のご回答ありがとうございます。回答どおりプログラムを書いたら
うまく動作しました。ありがとうございます。ただ縦スクロールバーを下まで動かすと、Scrollイベントで行が500行になると「プロパティの値が不正です」とでるのですが、あれは値が500以上になるとでるものなんでしょうか?時間があればご教授お願いします。
ちなみにVB4.0です。
No.2
- 回答日時:
VScroll1.Maxの設定をちゃんとしたのでしょうか?
Form_LoadイベントなどのListBoxの項目を初期化した後で
VScroll1.Max = List(0).ListCount - 1
として初期設定しないといけませんよ
Maxプロパティは 32767まで設定可能です
ListBoxの TopIndexは登録されているリスト項目の数-1までが設定可能値です
リスト項目の数をあらわすプロパティが ListCountになります
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- 会計ソフト・業務用ソフト ExcelのList & List & List & Listを作りたい 1 2023/08/20 22:37
- その他(データベース) Microsoft Accessについて 1 2022/06/06 16:20
- Visual Basic(VBA) リストポックスへの抽出方法 1 2022/08/10 17:58
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
ユーザーフォーム スクロールバー 非表示にしたい
Excel(エクセル)
-
VBAのリストボックスで、横スクロールバーを表示するには?
Visual Basic(VBA)
-
-
4
リストビューをスクロールさせるには
Visual Basic(VBA)
-
5
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
6
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
7
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
VBAのリストボックスをマウスでスクロール
PowerPoint(パワーポイント)
-
10
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
至急教えてください!!
-
サブルーチンの戻り値
-
配列表示画面方法について
-
ファイルからデータを読み込ん...
-
変則的なスタック配列を使う
-
if elsif 構文と複数の配列の使用
-
最後のフィールドを抜き出したい。
-
配列の中に配列をセットし、呼...
-
Perl 文字列を配列に直す方法
-
バイナリデータの操作
-
CSVから値の割り出し
-
配列へのプラス?
-
配列を使わずに、数字(連番)...
-
文字列の分割について
-
バイナリデータの検索(VB.NET2008)
-
perl 配列の要素数について
-
配列から網羅的な文字列を生成...
-
chomp( shift(@array) )
-
UWSCの終了の仕方
-
配列変数に格納の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
クラスに配列を渡す方法
-
二次元配列のインデックスについて
-
文字の整列(printf)
-
Dim flag(4) as boolean で配列...
-
マクロ Publicでの配列定義
-
エクセルVBAでTransposeの不思議
-
複数の配列の全ての組み合わせ...
-
Excel VBA ユーザーフォームの...
-
リストボックスに縦スクロール...
-
バイナリデータの検索(VB.NET2008)
-
可変長配列を、動的確保した固...
-
Strawberry Perl for Windows ...
-
perlで配列の要素が空なのを知...
-
if文条件式で配列を使用したい
-
VBScript 配列
-
VBA 二次元配列の1つ目を増...
-
二次元配列における要素数のは...
-
配列の各要素に文字列結合
-
Powershell $変数 = @()の空配...
おすすめ情報