Thống kê giao hàng bằng VBA

Liên hệ QC

tranphuson

Thành viên thường trực
Tham gia
14/8/09
Bài viết
269
Được thích
10
Giới tính
Nam
Vui lòng giúp mình file thống kê giao hàng của nhà cung cấp bằng VBA

Lịch giao hàng cố định so với ngày giao hàng thật tế: nếu sớm thì ghi nhận sớm bao nhiêu ngày, trễ thì bao nhiêu ngày so với lịch đã sắp xếp cố định

Xin cảm ơn
 

File đính kèm

B1, D1 người ta gọi là ô (cell), không phải gọi là "CỘT".
----
Người ta gọi cột A, cột B, cột C...

Người ta gọi dòng 1, dòng 2, dòng 3...

Người ta gọi ô A1, B1, D100 (không bao giờ gọi chúng là cột, là dòng)!
 
Lịch giao hàng cố định so với ngày giao hàng thật tế
Sao bây giờ ở VN có tiếng Việt lạ thế nhỉ? :D

"Sắp tới các bạn chuẩn bị lương thật cho cả tuần nhé. Ở nơi khỉ ho cò gáy ấy không có cửa hàng lương thật đâu".

Lương thật là lương ... Lương "nhái" lĩnh bằng những tờ mới cứng vừa in đêm qua ở gara?
---------
Ngày tháng trong Excel là số nên cứ trừ 2 số cho nhau thôi. Tất nhiên để phân biệt Sớm hay Trễ thì dùng vd. IF
 
Lần chỉnh sửa cuối:
Nếu đây không fải là dạng bài tập trên lớp, thì ta nên gộp 3 cột làm 1 & cho ra kết quả là: "OK" nếu giao đúng ngày; "T3" là trễ 3 ngày (chảng hạn),. . . . .
 
B1, D1 người ta gọi là ô (cell), không phải gọi là "CỘT".
----
Người ta gọi cột A, cột B, cột C...

Người ta gọi dòng 1, dòng 2, dòng 3...

Người ta gọi ô A1, B1, D100 (không bao giờ gọi chúng là cột, là dòng)!

Xin lỗi mình nhầm cột với dòng. Mình đã post lại file đã chỉnh sửa lại cho đúng

Vui lòng giúp đỡ file này bằng VBA
 

File đính kèm

Xin lỗi mình nhầm cột với dòng. Mình đã post lại file đã chỉnh sửa lại cho đúng

Vui lòng giúp đỡ file này bằng VBA
Thử Sub này:
PHP:
Public Sub sGpe()
Dim sArr(), dArr(), I As Long, J As Long, K As Long, R As Long, Tem As Long
Dim MaNCC, TenNCC As String
sArr = Sheets("DATA").Range("A2", Sheets("DATA").Range("A2").End(xlDown)).Resize(, 6).Value
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 10)
With Sheets("THONGKE")
    MaNCC = .Range("B1").Value
    For I = 1 To R
        If sArr(I, 1) = MaNCC Then
            K = K + 1
            dArr(K, 1) = K
            For J = 1 To 6
                dArr(K, J + 1) = sArr(I, J)
            Next J
            Tem = sArr(I, 6) - sArr(I, 5)
            If Tem = 0 Then
                dArr(K, 8) = "x"
            ElseIf Tem < 0 Then
                dArr(K, 9) = Abs(Tem)
            Else
                dArr(K, 10) = Tem
            End If
        End If
    Next I
    .Range("A4").Resize(100, 11).ClearContents
    .Range("E2") = dArr(1, 3)
    If K Then .Range("A4").Resize(K, 10) = dArr
End With
End Sub
 
Thử Sub này:
PHP:
Public Sub sGpe()
Dim sArr(), dArr(), I As Long, J As Long, K As Long, R As Long, Tem As Long
Dim MaNCC, TenNCC As String
sArr = Sheets("DATA").Range("A2", Sheets("DATA").Range("A2").End(xlDown)).Resize(, 6).Value
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 10)
With Sheets("THONGKE")
    MaNCC = .Range("B1").Value
    For I = 1 To R
        If sArr(I, 1) = MaNCC Then
            K = K + 1
            dArr(K, 1) = K
            For J = 1 To 6
                dArr(K, J + 1) = sArr(I, J)
            Next J
            Tem = sArr(I, 6) - sArr(I, 5)
            If Tem = 0 Then
                dArr(K, 8) = "x"
            ElseIf Tem < 0 Then
                dArr(K, 9) = Abs(Tem)
            Else
                dArr(K, 10) = Tem
            End If
        End If
    Next I
    .Range("A4").Resize(100, 11).ClearContents
    .Range("E2") = dArr(1, 3)
    If K Then .Range("A4").Resize(K, 10) = dArr
End With
End Sub
Xin cảm ơn Anh đã giúp đỡ.
1. Cho mình hỏi thêm là có 1 số Nhà cung cấp bị báo lỗi
1542880362159.png
2. Nếu mình cần chọn thống kê hết tất cả nhà cung cấp thì chọn như thế nào.

Cảm ơn
 

File đính kèm

Xin cảm ơn Anh đã giúp đỡ.
1. Cho mình hỏi thêm là có 1 số Nhà cung cấp bị báo lỗi
View attachment 208100
2. Nếu mình cần chọn thống kê hết tất cả nhà cung cấp thì chọn như thế nào.

Cảm ơn
1- Là do dữ liệu của bạn không chuẩn, cột F bị rỗng hoặc #N/A. Nếu có điều kiện cột H="Xong" sẽ không lỗi.
2- Yêu cầu khác phải có cách giải quyết khác, không thể hỏi "khơi khơi" được.
 
Web KT

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

Back
Top Bottom