返回列表 上一主題 發帖

如何達成兩個listbox的水平捲軸同步?

如何達成兩個listbox的水平捲軸同步?

請問各位大大若需要將兩個listbox的水平捲軸同步的話, 應該如何操作?
網路上找了好幾個方式都無法正常執行, 是否能協助幫下忙, 謝謝
希望是不管操作listbox1或是listbox2的水平捲軸都能夠同步於另一個listbox
PS. 公司是使用office 2007的, 也無法新增listview的功能, 所以請忽略listview的做法, 謝謝
test.zip (12.11 KB)

回復 1# earl
試試看
  1. Dim AR(), Msg As Boolean
  2. Private Sub UserForm_Initialize()
  3.     AR = Array(ListBox1, ListBox2)  '所有ListBox
  4.     Set myitem = Range("A1:I4")     '這裡有修改
  5.     Set mydb = Range("A2:I4")
  6.     With AR(0) 'ListBox1
  7.         .ColumnCount = 9
  8.        .RowSource = myitem.Address
  9.     End With
  10.     With AR(1) 'ListBox2
  11.            .ColumnCount = 9
  12.            .RowSource = mydb.Address
  13.     End With
  14. End Sub
  15. Private Sub ListBox1_Click()
  16.     If Msg Then Exit Sub
  17.     Ex ListBox1.ListIndex
  18. End Sub
  19. Private Sub ListBox2_Click()
  20.     If Msg Then Exit Sub
  21.     Ex ListBox2.ListIndex
  22. End Sub
  23. Private Sub Ex(OB As Integer)
  24.     Dim E As Variant
  25.     Msg = True
  26.     For Each E In AR
  27.         E.ListIndex = OB ' 所有ListBox 水平捲軸都同步
  28.     Next
  29.     Msg = False
  30. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# GBKEE
我覺得他說的是 ListBox1下方捲軸往右滾動時
ListBox2下方捲軸也要向右同步滾動

這樣還有解嗎?
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

1.捲軸移動時,並不會觸動事件(不知其它版本是否有此事件),而選取(Click) 時,只能檢測其資料行列位置!
2.若想〔標題文字〕與〔資料〕左右同步顯示,設定其 ColumnHeads = True 即可,不須用到兩個ListBox
3.如果各欄文字字元數不多,以範例檔為例,只要設定其 ColumnWidths 屬性,也用不到水平捲軸!

參考如下方法:
Set mydb = Range("A2:I4") '注意:這參照位址不可包含〔標題列〕
With ListBox2
  .ColumnCount = 9
  .RowSource = mydb.Address
  .ColumnHeads = True
  .ColumnWidths = "42,42,42,42,42,42,42,42,42"
End With

TOP

GBKEE 大大, 感謝您的解答, 但與我想要的需求不同
我是希望移動listbox1下方水平捲軸時, listbox2的水平捲軸也能夠同時移動, 如同stillfish00大描述

准提部林大大, 因為標題總共有兩列, 所以才不考慮用ColumnHeads, 而採用兩個listbox答到我的需球

TOP

回復 3# stillfish00
    哈,我眼花了亂解.VBA的功力有限ㄚ.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

GBKEE大大, 應該是小弟我描述的不好
不過還是感謝大大熱心的協助

後來小弟自己使用一組listbox使用ColumnHeads, 在把兩列資料表題合在一起顯示於此, 就不需要用兩個listbox並同步捲軸了
不然小弟我真的想不到同步怎用~哈

TOP

        靜思自在 : 我們要做好社會的環保,也要做好內心的環保。
返回列表 上一主題