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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
あなたの習慣について教えてください!!
あなたが習慣だと思って実践しているものを共有してくださいませんか? 筋肉トレーニングでも朝シャワーでも、あなたが習慣だなと思えば何でも構いません
-
ユーザーフォーム スクロールバー 非表示にしたい
Excel(エクセル)
-
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
リストビューをスクロールさせるには
Visual Basic(VBA)
-
-
4
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
5
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
6
ExcelVBA でリストリストボックスに列見出しをコーディングでつける
Excel(エクセル)
-
7
VB6,リストボックスの特定行の色変更は可能?
Visual Basic(VBA)
-
8
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
9
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
10
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
11
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
12
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
13
リストボックスの特定行の背景色
Visual Basic(VBA)
-
14
リストボックスの同期
Visual Basic(VBA)
-
15
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
16
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
17
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
18
コンボボックスの横スクロールバーの非表示?(Excel VBA 2007)
Visual Basic(VBA)
-
19
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
20
VBAのリストボックスで、横スクロールバーを表示するには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
N88互換BASICで「メッセージの...
-
Excel(VBA)で配列の要素数を...
-
VBAのautofilter、criteriaの配...
-
文字の整列(printf)
-
VBA 多次元配列を用いてグルー...
-
マクロ Publicでの配列定義
-
jcode->jfold で禁則処理
-
DataGridViewに配列の値を表示...
-
エクセルVBAでTransposeの不思議
-
二次元配列のインデックスについて
-
perl 配列の要素数について
-
Excel VBA ユーザーフォームの...
-
UWSCの終了の仕方
-
ハッシュのハッシュを実現したい。
-
Escキーを押すと、中断する時と...
-
画面を強制的に再描画させる方法
-
vb.netからエクセル関数書き込み
-
DOSコマンドのループ内のTIMEコ...
-
まったく同じファイルのハッシ...
-
ハッシュ検索はなぜ速い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでTransposeの不思議
-
VBAのautofilter、criteriaの配...
-
Excel VBA ユーザーフォームの...
-
二次元配列のインデックスについて
-
クラスに配列を渡す方法
-
二次元配列における要素数のは...
-
マクロ Publicでの配列定義
-
リストボックスに縦スクロール...
-
perl 初等プログラミングについて
-
Dim flag(4) as boolean で配列...
-
チェックボックスのperlでの値...
-
バイナリデータの検索(VB.NET2008)
-
文字の整列(printf)
-
perlで配列の要素が空なのを知...
-
隣同士の数字を足し合わせる
-
ファイル名に日付・時刻を付与...
-
VBA 多次元配列を用いてグルー...
-
VB6で配列の最大値を簡単に求め...
-
jcode->jfold で禁則処理
-
リストの再構成について
おすすめ情報