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

Liên hệ QC

dinhthientan

Thành viên mới
Tham gia
10/9/08
Bài viết
35
Được thích
6
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

  • Chuyen du lieu 2 listbox.xlsm
    19.2 KB · Đọc: 15
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
 
Upvote 0
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
 
Upvote 0
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 ạ
 
Upvote 0
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
 
Upvote 0
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
 
Upvote 0
Đượ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

  • Chuyen du lieu 2 listbox.xlsm
    24.3 KB · Đọc: 15
Upvote 0
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
Mình có bảng dữ liệu 12 cột, và gặp lỗi khi thay số cột bằng 10, bạn có thể giúp mình vì sao bị lỗi không nhé
 
Upvote 0
Web KT
Back
Top Bottom