Chuyển dữ liệu giữa 2 listbox

dinhthientan

Thành viên mới
Tham gia ngày
10 Tháng chín 2008
Bài viết
23
Được thích
4
Điểm
665
K/g các anh chị trên diễn đàn.
Tôi làm 2 Listbox có nhiều cột, trong đó Listbox1 có dữ liệu. Khi chọn dòng ở Listbox1 chuyển sang Listbox2 thì Listbox2 chỉ nhận được 1 cột. Mong các a/c giúp code khi chọn dòng ở Listbox1 thì Listbox2 sẽ nhận được dữ liệu cả dòng được chọn ở Listbox1.
Cảm ơn các a/c nhiều.
 

File đính kèm

đungtb2

Thành viên mới
Tham gia ngày
19 Tháng năm 2009
Bài viết
19
Được thích
12
Điểm
665
Tuổi
32
K/g các anh chị trên diễn đàn.
Tôi làm 2 Listbox có nhiều cột, trong đó Listbox1 có dữ liệu. Khi chọn dòng ở Listbox1 chuyển sang Listbox2 thì Listbox2 chỉ nhận được 1 cột. Mong các a/c giúp code khi chọn dòng ở Listbox1 thì Listbox2 sẽ nhận được dữ liệu cả dòng được chọn ở Listbox1.
Cảm ơn các a/c nhiều.
Bác đổi như này cho nút ấn xem sao:
Mã:
Private Sub CommandButton1_Click()
    Dim i As Long, j As Long
    
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            For j = 0 To 1
                'If ListBox1.Selected(i) = True Then ListBox2.AddItem ListBox1.List(i)
                ListBox2.AddItem ListBox1.List(i, j)
            Next j
        End If
    Next i

End Sub
 

Huyyeu99999

Thành viên mới
Tham gia ngày
27 Tháng mười hai 2019
Bài viết
49
Được thích
21
Điểm
15
Hình như listbox có index chỉ số dòng mà đâu cần phải dùng vòng lập chạy qua từng dòng
 

dinhthientan

Thành viên mới
Tham gia ngày
10 Tháng chín 2008
Bài viết
23
Được thích
4
Điểm
665
Bác đổi như này cho nút ấn xem sao:
Mã:
Private Sub CommandButton1_Click()
    Dim i As Long, j As Long
   
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            For j = 0 To 1
                'If ListBox1.Selected(i) = True Then ListBox2.AddItem ListBox1.List(i)
                ListBox2.AddItem ListBox1.List(i, j)
            Next j
        End If
    Next i

End Sub
Không đc bác ạ
 

snow25

Thành viên gắn bó
Tham gia ngày
24 Tháng bảy 2018
Bài viết
2,462
Được thích
2,321
Điểm
360
K/g các anh chị trên diễn đàn.
Tôi làm 2 Listbox có nhiều cột, trong đó Listbox1 có dữ liệu. Khi chọn dòng ở Listbox1 chuyển sang Listbox2 thì Listbox2 chỉ nhận được 1 cột. Mong các a/c giúp code khi chọn dòng ở Listbox1 thì Listbox2 sẽ nhận được dữ liệu cả dòng được chọn ở Listbox1.
Cảm ơn các a/c nhiều.
Bạn thử.
Mã:
Private Sub CommandButton1_Click()
For i = 0 To ListBox1.ListCount - 1
                If ListBox1.Selected(i) = True Then
                   ListBox2.AddItem
                   ListBox2.List(ListBox2.ListCount - 1, 0) = ListBox1.List(i, 0)
                   ListBox2.List(ListBox2.ListCount - 1, 1) = ListBox1.List(i, 1)
                End If
Next i
End Sub
 

dinhthientan

Thành viên mới
Tham gia ngày
10 Tháng chín 2008
Bài viết
23
Được thích
4
Điểm
665
Bạn thử.
Mã:
Private Sub CommandButton1_Click()
For i = 0 To ListBox1.ListCount - 1
                If ListBox1.Selected(i) = True Then
                   ListBox2.AddItem
                   ListBox2.List(ListBox2.ListCount - 1, 0) = ListBox1.List(i, 0)
                   ListBox2.List(ListBox2.ListCount - 1, 1) = ListBox1.List(i, 1)
                End If
Next i
End Sub
Được rồi bác. Cảm ơn bác nhiều lắm
 

dinhthientan

Thành viên mới
Tham gia ngày
10 Tháng chín 2008
Bài viết
23
Được thích
4
Điểm
665
Được rồi bác. Cảm ơn bác nhiều lắm
Làm phiền bác thêm một chút.
Mình làm thêm nút Command để: Sau khi chọn (1 hoặc nhiều dòng từ listbox1 đưa sang listbox2), nhấn Command [Nhập], nó sẽ thêm dữ liệu vào cột sau trên sheet (với điều kiện dữ liệu cột đầu trên listbox2 được chọn trùng với dữ liệu cột đầu trên sheet. Code của mình chỉ sửa dòng cuối.
Cảm ơn bác nhiều.
 

File đính kèm

Top Bottom