Nhặt dữ liệu hóa đơn từ sđt

Liên hệ QC

maiphuong180190

Thành viên mới
Tham gia
1/8/13
Bài viết
17
Được thích
0
Em chào các anh chị!
Em có 1 file dữ liệu, em chỉ muốn nhăt 1 số khách hàng sang sheet khác. Mà 1 khách hàng lại có nhiều hóa đơn. E sử dụng hàm Vlookup nhưng chỉ nhặt được hóa đơn đầu tiên, vậy có cách gì để lấy các hóa đơn sau dựa vào sdt khách hàng k ạ?
 

File đính kèm

  • File cần làm.xlsx
    9.7 KB · Đọc: 18
Em chào các anh chị!
Em có 1 file dữ liệu, em chỉ muốn nhăt 1 số khách hàng sang sheet khác. Mà 1 khách hàng lại có nhiều hóa đơn. E sử dụng hàm Vlookup nhưng chỉ nhặt được hóa đơn đầu tiên, vậy có cách gì để lấy các hóa đơn sau dựa vào sdt khách hàng k ạ?
Kết quả như thế nào? Nhập thủ công và gởi lại file
 
Em chào các anh chị!
Em có 1 file dữ liệu, em chỉ muốn nhăt 1 số khách hàng sang sheet khác. Mà 1 khách hàng lại có nhiều hóa đơn. E sử dụng hàm Vlookup nhưng chỉ nhặt được hóa đơn đầu tiên, vậy có cách gì để lấy các hóa đơn sau dựa vào sdt khách hàng k ạ?
Thử File sau, nhấn nút để xem kết quả tách khách hàng.
 

File đính kèm

  • Tach KH.xlsm
    25 KB · Đọc: 18
Thử File sau, nhấn nút để xem kết quả tách khách hàng.
Trường hợp mình không muốn nhặt tất cả các khách hàng ra. mà chỉ nhặt những khách hàng mà mình đã để tên, thì có cách gì làm nhanh nhất được không? Cho mình xin công thức tách sheet với
 
Trường hợp mình không muốn nhặt tất cả các khách hàng ra. mà chỉ nhặt những khách hàng mà mình đã để tên, thì có cách gì làm nhanh nhất được không? Cho mình xin công thức tách sheet với
Bạn thử code này nhé.Ở đây là dùng code VBA không phải dùng công thức.
Mã:
Sub laydulieu()
   Dim i As Long, lr As Long, dk As String, dic As Object, kq, arr, data, a As Long, j As Long
   Set dic = CreateObject("Scripting.dictionary")
   With Sheet1
       lr = .Range("A" & Rows.Count).End(xlUp).Row
       arr = .Range("A2:F" & lr).Value
   End With
   With Sheet2
       lr = .Range("A" & Rows.Count).End(xlUp).Row
       data = .Range("A2:B" & lr).Value
       For i = 1 To UBound(data)
           dk = data(i, 1)
           dic.Item(dk) = i
       Next i
       ReDim kq(1 To UBound(arr), 1 To 6)
       For i = 1 To UBound(arr)
           dk = arr(i, 2)
           If dic.exists(dk) Then
              a = a + 1
              For j = 1 To 6
                  kq(a, j) = arr(i, j)
              Next j
           End If
      Next i
      .Range("E6:J1000").ClearContents
      If a Then .Range("E6:J6").Resize(a).Value = kq
 End With
 Set dic = Nothing
End Sub
 

File đính kèm

  • File cần làm.xlsm
    19.1 KB · Đọc: 14
Web KT
Back
Top Bottom