Cần giúp đỡ về tạo báo cáo tự động

Liên hệ QC

ERX_Vietnam

Thành viên hoạt động
Tham gia
27/9/08
Bài viết
113
Được thích
175
Dear các anh/chị,

Tôi cần giúp đỡ về cách tạo báo cáo tự động.

Trong file tôi gửi kèm có 03 cột dữ liệu: Khách hàng "Customer", hoãn giao hàng "delay", lý do hoãn "reason".

Hàng ngày tôi có rất nhiều khách hàng có y/c hoãn đơn hàng với nhiều lý do khác nhau, nên tôi muốn lập một báo cáo tự động để dễ theo dõi và báo cáo với cấp trên: kh nào hay hoãn, hoãn bao nhiêu lần, với lý do gì là nhiều nhất....

Y/c: khi check "x" vào cột "delay" thì phần result sẽ tự truy suất tên kh, nếu có hơn 1 khách hàng thì tên kh tiếp theo sẽ ở ô tiếp theo. Tính tổng số "delay" và 'reason delay" cho từng khách hàng.

Sao khi có bảng dữ liệu thì tôi sẽ tạo biều đồ động để theo dõi (phần biểu đồ tôi đang làm - nếu phát sinh khó khăn tôi sẽ post lên nhờ các bạn giúp).
 

File đính kèm

  • Book1.xls
    15.5 KB · Đọc: 34
Macro của bạn đây, hãy gán cho nó tổ hợp fím, để khi muốn chạy thì nhấn

PHP:
Option Explicit
Sub BaoCaoTD()
 Dim eRw As Long, jJ As Long
 Dim fF As Integer, Del As Integer, NumRs As Integer
 Dim Clls As Range, Rng As Range, sRng As Range
 Dim MyAdd As String, Cust_ As String
 
 Set Rng = Range("List"):                  NumRs = Rng.Rows.Count
 ReDim MDL(1 To NumRs, 1 To 2)
 For fF = 1 To NumRs
   MDL(fF, 2) = Rng.Cells(fF).Value
 Next fF
'To Màu Cho Vui:'
 With Rng.Interior
   If .ColorIndex < 34 Or .ColorIndex > 42 Then
      .ColorIndex = 35
   Else
      .ColorIndex = .ColorIndex + 1
   End If
 End With
 
 Set Rng = Range([A1], [A65500].End(xlUp))
 eRw = Rng.Row
 [i2].Resize(3 + NumRs, 9 * eRw).ClearContents
 For Each Clls In Range("Cust")
   If Clls.Value <> "" Then
      Set sRng = Rng.Find(Clls.Value, , xlFormulas, xlWhole)
      If Not sRng Is Nothing Then
         MyAdd = sRng.Address
         Do
            If UCase(sRng.Offset(, 1).Value) = "X" Then
               Cust_ = Clls.Value
               Del = 1 + Del
               For fF = 1 To NumRs
                  If sRng.Offset(, 2).Value = MDL(fF, 2) Then
                     MDL(fF, 1) = MDL(fF, 1) + 1
                  End If
               Next fF
            End If
            Set sRng = Rng.FindNext(sRng)
         Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
         With Cells(2, 255).End(xlToLeft).Offset(, 1)
            .Value = Cust_:                              Cust_ = ""
            .Offset(1).Value = Del:                      Del = 0
            For fF = 1 To NumRs
               If MDL(fF, 1) > 0 Then
                  .Offset(1 + fF).Value = MDL(fF, 1):    MDL(fF, 1) = 0
               End If
            Next fF
         End With
      End If
   Else
   End If
 Next Clls
End Sub
 

File đính kèm

  • GPE.rar
    10.8 KB · Đọc: 70
Upvote 0
Dear các anh/chị,

Tôi cần giúp đỡ về cách tạo báo cáo tự động.

Trong file tôi gửi kèm có 03 cột dữ liệu: Khách hàng "Customer", hoãn giao hàng "delay", lý do hoãn "reason".

Hàng ngày tôi có rất nhiều khách hàng có y/c hoãn đơn hàng với nhiều lý do khác nhau, nên tôi muốn lập một báo cáo tự động để dễ theo dõi và báo cáo với cấp trên: kh nào hay hoãn, hoãn bao nhiêu lần, với lý do gì là nhiều nhất....

Y/c: khi check "x" vào cột "delay" thì phần result sẽ tự truy suất tên kh, nếu có hơn 1 khách hàng thì tên kh tiếp theo sẽ ở ô tiếp theo. Tính tổng số "delay" và 'reason delay" cho từng khách hàng.

Sao khi có bảng dữ liệu thì tôi sẽ tạo biều đồ động để theo dõi (phần biểu đồ tôi đang làm - nếu phát sinh khó khăn tôi sẽ post lên nhờ các bạn giúp).

Dùng Pivot trong trường hợp này được không?
 

File đính kèm

  • Book1_result.xls
    24 KB · Đọc: 19
Upvote 0
Dear SA_DQ,

Liệu có cách nào ko cần lập list kh ở cột D mà vẫn cho ra kết quả các kh A,B,C.. không? Và phần tham chiếu (define name) ở một vùng trong file khác được không? Vì ý tưởng của tôi là xuất báo cáo nhưng dựa trên dữ liệu của file khác.
 
Upvote 0
(2) Liệu có cách nào ko cần lập list kh ở cột D mà vẫn cho ra kết quả các kh A,B,C.. không? (1) Và phần tham chiếu (define name) ở một vùng trong file khác được không? Vì ý tưởng của tôi là xuất báo cáo nhưng dựa trên dữ liệu của file khác.

(1) Vậy là bạn fải chờ người khác giúp rồi; Mình chưa bao giờ giúp ai làm việc trên 2 files cùng 1 lúc cả. Hãy thông cảm cho mình.

(2) Để ngâm cứu xem sao; Nhưng chắc 1 điều là dài dòng hơn bội fần.
 
Upvote 0
Dear SA_DQ,

Thanks SA_DQ, có lẽ ý tưởng của mình hơi "quá sức" excel hic hic, mình cũng cố gắng làm trong 1 file xem sao. Dù cao cũng thank SA_DQ thật nhiều!
 
Upvote 0
Nếu có office 2007
Xài countifs
 

File đính kèm

  • countifs.xlsx
    13.5 KB · Đọc: 12
Upvote 0

File đính kèm

  • BCTuDong1.xls
    33 KB · Đọc: 19
Upvote 0
hic hic, có bác nào ghé ngang giúp mình với!
 
Upvote 0
Web KT
Back
Top Bottom