Thống kê ngày tháng

Liên hệ QC

thi hoang

Thành viên mới
Tham gia
31/8/11
Bài viết
20
Được thích
0
chào các bạn, minh có 2 câu hỏi tương ứng với 2 file mình gửi , ở file VD1 , sheet 1 là thống kê các chi nhánh được kiểm tra vào các ngày trong tháng 07 và tháng 08 , ở sheet 2 hàng ngày kiểm mình muốn kiểm tra một số chi nhánh được kiểm vào ngày nào cập nhật từ sheet 1 thì mình phải làm sao
Ở VD 2 sheet tổng mình muốn thống kê các sheet còn lại theo đúng tên chi nhánh ở 3 cột xuất - trả - còn nợ ( mình bôi màu vàng ) ở đây mình chỉ nêu 5 sheet để VD thôi chứ thực tế có tới cả trăm sheet lận . các bạn giúp mình nhé
 

File đính kèm

  • VD.rar
    21.8 KB · Đọc: 27
Câu nào xong gởi bạn tham khảo trước

Fím tắt của macro là {CTRL}+{SHIFT}+N
 

File đính kèm

  • gpeVatTu.rar
    19.3 KB · Đọc: 22
Trước tiên bạn fải sửa lại cấu trúc của các trang tính tại VD2

Mà cụ thể là các cột Xuất, Trả & còn nợ fải cùng trên 1 mã cột (đó là 'B', 'J' & 'K'; Nếu trang tính nào thiếu khác thì bạn fải thêm cột vô để đạt được như vậy & cho ẩn cột mới thêm này đi)
Vấn đề nữa là tên các trang tính không nên có khỏang trắng & không bỏ dấu tiếng Việt; Các tên trang tính này fải hoàn toàn trùng khớp với danh mục liệt kê trong 'Tổng', kể cả cùng chữ hoa hay chữ thường.
(Chỉ riêng chuyện này bạn đã làm tốn của mình nữa giờ 1 cách vô ích; Nên xây dựng tác fong làm việc không tùy tiện bạn à!)

/(/ói với bạn những chuyện này cũng chỉ mong bạn tiến xa hơn trong tương lai mà thôi!
 

File đính kèm

  • gpeVatTu.rar
    17.3 KB · Đọc: 12
cảm ơn bạn chanhtq@ nhiều , có phải bạn dùng VBA không ? , mình củng không rành cái này lắm , bạn cho minh code luôn được không , ở VD1 đó
 
bạn chanhtq@ dùng VBA không ? , mình củng không rành cái này lắm , bạn cho minh code luôn được không , ở VD1 đó

Ở cả 2 file đính kèm đều có code trong đó mà; Hãy bấm {ALT}+{F11} để xem đi & chúc nhiều may mắn.

Đây là Code của VD2:

PHP:
Option Explicit

Sub KetChuyen()
 Dim Sh As Worksheet, Cls As Range, sRng As Range
 Dim Tong As String, ShName As String
 
 Sheet1.Select:               [C5].Resize(9999, 4).ClearContents
 Tong = Range("Tong").Value
 For Each Cls In Range([B5], [B5].End(xlDown))
   ShName = Cls.Value
   For Each Sh In ThisWorkbook.Worksheets
      If Sh.Name = ShName Then
         Set sRng = Sh.Columns("A:A").Find(Tong, , xlFormulas, xlWhole)
         If Not sRng Is Nothing Then
            Cls.Offset(, 1).Value = Sh.Cells(sRng.Row, "B")
            Cls.Offset(, 2).Value = Sh.Cells(sRng.Row, "J")
            Cls.Offset(, 3).Value = Sh.Cells(sRng.Row, "K")
         End If
         Exit For
      End If
   Next Sh
 Next Cls
End Sub

Còn đây là đoạn mã bạn hỏi:
PHP:
Option Explicit
Sub NgayKiem()
 Dim Sh As Worksheet, Cls As Range, Rng As Range, sRng As Range
 Dim Dat As Date
 Sheet2.Select
 Set Sh = ThisWorkbook.Worksheets("S2")
 Set Rng = Sh.Range(Sh.[A3], Sh.[B3].End(xlToRight))
 For Each Cls In Range([c7], [C9999].End(xlUp))
   If Cls.Offset(, -1).Value <> "" Then Dat = Cls.Offset(, -1)
   Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
   If Not sRng Is Nothing Then sRng.Offset(-1).Value = Dat
 Next Cls
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Cảm ơn các bạn nhiều , mình còn một thắc mắt , nếu ở sheet ngày kiểm mình liệt kê tên tỉnh theo dòng , ngày kiểm theo cột
vậy ở sheet chi tiết , hàng ngày kiểm , minh tô màu vàng , mình muốn liệt kê các tỉnh được kiểm vào ngày nào cập nhật từ sheet ngày kiểm thì làm sao ha ?
 

File đính kèm

  • VD.xls
    89 KB · Đọc: 6
/(/hững mong không f ải đưa file đính kèm, he, he, . . . .

PHP:
Option Explicit
Sub GPE_Kiem()
 Dim Sh As Worksheet, Rng As Range, sRng As Range, Cls As Range
 
 Sheet1.Select
 Set Sh = Sheet2
 Set Rng = Sh.Range(Sh.[a5], Sh.[B5].End(xlToRight))
 For Each Cls In [b4].CurrentRegion.Offset(, 1)
   If Cls.Value <> "" Then
      Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
      If Not sRng Is Nothing Then
         sRng.Offset(-1).Value = Cells(2, Cls.Column).Value
      End If
   End If
 Next Cls
End Sub

Bạn chú í nhỏ như vầy: Tên trang tính không nên có khoảng trắng & xài tiếng Việt có dấu như vậy

Vì ngược lại bạn & chúng ta sẽ khó thêm khi đọc & hiểu câu lệnh trên.
 
cảm ơn SA_DQ , nếu không dùng VBA mà dùng công thức có được không bạn
 
cảm ơn SA_DQ , nếu không dùng VBA mà dùng công thức có được không bạn

Dùng SUMPRODUCT nhé.

Lưu ý: Tên tỉnh trong sheet NGÀY KIỂM và chi tiết phải tuyệt đối giống nhau. Bạn nên copy để bảo đảm chính xác.

Công thức tại B4:
Mã:
=SUMPRODUCT(('NGÀY KIỂM'!$B$4:$G$8='chi tiết'!B$5)*'NGÀY KIỂM'!$B$2:$G$2)
 

File đính kèm

  • VD(1).rar
    18.5 KB · Đọc: 11
Web KT
Back
Top Bottom