Cách lấy dữ liệu không liên tục giữa các cột để đưa vào Listbox (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,063
Được thích
175
Các anh chị giúp giùm trường hợp sau
Em muốn lấy dữ liệu không liên tục giữa các cột để đưa vào Listbox
Cụ thể code đang lấy các cột 8,9,10 của sheet Note1 để đưa vào listbox
Mã:
Private Sub UserForm_Initialize()
    Dim endR As Long, endR1 As Long
    Dim arr()
    With Sheets("Note1")
        endR = .Cells(65000, 8).End(xlUp).Row
        
        arr = .Range(.Cells(10, 8), .Cells(endR, 10)).Value
    End With
    With Me.MHList
        .ColumnCount = 3
        .List = arr
    End With
    'MHList.Selected(0) = True
    NhomHang.SetFocus
    Erase arr
End Sub
Nay em chỉ muốn lấy cột 8,9, 11 của sheet Note1 để đưa vào listbox (nghĩa là bỏ không lấy cột 10)
thì code trên em fải sửa như thế nào? Em cảm ơn
 

File đính kèm

Các anh chị giúp giùm trường hợp sau
Em muốn lấy dữ liệu không liên tục giữa các cột để đưa vào Listbox
Cụ thể code đang lấy các cột 8,9,10 của sheet Note1 để đưa vào listbox
Mã:
Private Sub UserForm_Initialize()
    Dim endR As Long, endR1 As Long
    Dim arr()
    With Sheets("Note1")
        endR = .Cells(65000, 8).End(xlUp).Row
        
        arr = .Range(.Cells(10, 8), .Cells(endR, 10)).Value
    End With
    With Me.MHList
        .ColumnCount = 3
        .List = arr
    End With
    'MHList.Selected(0) = True
    NhomHang.SetFocus
    Erase arr
End Sub
Nay em chỉ muốn lấy cột 8,9, 11 của sheet Note1 để đưa vào listbox (nghĩa là bỏ không lấy cột 10)
thì code trên em fải sửa như thế nào? Em cảm ơn

tôi nghĩ là bạn chép 3 cột đó ra ngoài rồi add nó vào listbox
chứ nếu để nguyên như vậy thì phải dùng vòng lặp rồi add từng item vào
 
Upvote 0
Các anh chị giúp giùm trường hợp sau
Em muốn lấy dữ liệu không liên tục giữa các cột để đưa vào Listbox
Cụ thể code đang lấy các cột 8,9,10 của sheet Note1 để đưa vào listbox
Mã:
Private Sub UserForm_Initialize()
    Dim endR As Long, endR1 As Long
    Dim arr()
    With Sheets("Note1")
        endR = .Cells(65000, 8).End(xlUp).Row
        
        arr = .Range(.Cells(10, 8), .Cells(endR, 10)).Value
    End With
    With Me.MHList
        .ColumnCount = 3
        .List = arr
    End With
    'MHList.Selected(0) = True
    NhomHang.SetFocus
    Erase arr
End Sub
Nay em chỉ muốn lấy cột 8,9, 11 của sheet Note1 để đưa vào listbox (nghĩa là bỏ không lấy cột 10)
thì code trên em fải sửa như thế nào? Em cảm ơn
Như vầy cho nó lành nè!

Mã:
Private Sub UserForm_Initialize()
    Dim endR As Long, endR1 As Long
    Dim arr(), arr2()
    With Sheets("Note1")
        endR = .Range("H" & Rows.Count).End(xlUp).Row
        arr = .Range("H10:I" & endR).Value
        arr2 = .Range("K10:K" & endR).Value
    End With
    Dim r As Long, u As Long
    u = UBound(arr)
    ReDim Preserve arr(1 To u, 1 To 3)
    For r = 1 To u
        arr(r, 3) = arr2(r, 1)
    Next
    With Me.MHList
        .ColumnCount = 3
        .List = arr
    End With
    'MHList.Selected(0) = True
    NhomHang.SetFocus
    Erase arr
End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom