Tổng hợp dữ liệu từ nhiều đơn hàng.

Liên hệ QC

Thùy7121990

Thành viên mới
Tham gia
4/6/17
Bài viết
12
Được thích
0
Dear anh/chị,

Em đổ đơn hàng từ hệ thống ra 1 sheet excel, 1 sheet tầm 50 đơn hàng (file em đính kèm 3 đơn hàng cho không bị rối).
Mỗi đơn hàng cách nhau bằng dòng light màu xanh.
Hiện em đang muốn tổng hợp các trường thông tin của đơn hàng từ sheet "ĐƠN HÀNG" sang sheet " TỔNG HỢP" để lên đơn hàng ạ (Gồm các cột bôi vàng)
1 ngày đổ ra tầm 50 đơn hàng rồi copy và paste thì trễ đơn hoài:(

Mong A/c giúp đỡ em với ạ.
 

File đính kèm

  • TỔNG HỢP ĐƠN HÀNG.xlsx
    31.1 KB · Đọc: 21
Dear anh/chị,

Em đổ đơn hàng từ hệ thống ra 1 sheet excel, 1 sheet tầm 50 đơn hàng (file em đính kèm 3 đơn hàng cho không bị rối).
Mỗi đơn hàng cách nhau bằng dòng light màu xanh.
Hiện em đang muốn tổng hợp các trường thông tin của đơn hàng từ sheet "ĐƠN HÀNG" sang sheet " TỔNG HỢP" để lên đơn hàng ạ (Gồm các cột bôi vàng)
1 ngày đổ ra tầm 50 đơn hàng rồi copy và paste thì trễ đơn hoài:(

Mong A/c giúp đỡ em với ạ.
Bạn chạy cái sub này xem đúng không nhé.
Mã:
Sub chuyendonhang()
    Dim arr, arr1, i As Long, j As Long, lr As Long, dk As String, ma As String, by1 As String, by2 As String, by3 As String, a As Long
    With Sheets("don hang")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        arr = .Range("A1:Y" & lr).Value
        ReDim arr1(1 To UBound(arr, 1), 1 To 8)
    End With
       For i = 1 To UBound(arr, 1)
           If arr(i, 1) = "Order No" Then
              ma = arr(i + 1, 1)
              i = i + 1
           ElseIf arr(i, 1) = "Ordered By" Then
            by1 = Empty: by2 = Empty: by3 = Empty
              Do
                i = i + 1
                by1 = by1 & arr(i, 1)
                by2 = by2 & arr(i, 7)
                by3 = by3 & arr(i, 14)
              Loop Until arr(i, 1) = "Article"
              i = i - 1
          ElseIf arr(i, 1) = "Article" Then
              i = i + 1
              Do
                i = i + 1
                a = a + 1
                arr1(a, 1) = ma
                arr1(a, 2) = by1
                arr1(a, 3) = by2
                arr1(a, 4) = by3
                arr1(a, 5) = arr(i, 1)
                arr1(a, 6) = arr(i, 2)
                arr1(a, 7) = arr(i, 15)
                arr1(a, 8) = arr(i, 18)
              Loop Until Trim(arr(i, 1)) = "DAIRY(460)"
          End If
      Next i
    With Sheets("tong hop")
         lr = .Range("A" & Rows.Count).End(xlUp).Row
         If lr > 1 Then .Range("A2:H" & lr).ClearContents
         If a Then .Range("A2").Resize(a, 8).Value = arr1
   End With
End Sub
 

File đính kèm

  • TỔNG HỢP ĐƠN HÀNG.xlsm
    32.5 KB · Đọc: 16
Ôi cám ơn bạn ạ.

Bạn ơi, mình muốn lấy thêm trường " Delivery Date to Store" cho vào sheet "Tổng Hợp" thì làm thế nào ạ?

Nhờ bạn hỗ trợ, cám ơn bạn rất nhiều ạ:)

215181
 

File đính kèm

  • TỔNG HỢP ĐƠN HÀNG v02.xlsm
    31.5 KB · Đọc: 23
Web KT
Back
Top Bottom