Giúp mình một đoạn code lọc dữ liệu theo điều kiện (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

hophoang

Thành viên tiêu biểu
Tham gia
23/6/11
Bài viết
719
Được thích
628
Nghề nghiệp
KToan Kho
mình có một fiel,mình muốn in báo cáo theo cách lọc dữ liệu theo điêu kiện xin mọi người giup cho
 

File đính kèm

mình chọn Autofilter một lúc 3 hoặc 4 mã sau đó nó groub lại
 
Upvote 0
Giúp zum mình một đoạn mã để lọc dữ liệu theo điều kiện

Mình có 1 fiel mình muốn lọc dữ liệu theo 3 hoặc 4 điều kiện mà mình không biết làm.vậy xin nhờ các anh chị giúp xin cam ơn
 

File đính kèm

Upvote 0
như thê này bạn giúp minh nha
 

File đính kèm

Upvote 0
theo mình thì bạn dùng avanced filtertrong excel, nhưng trước tiên bạn tạo điều kiện lọc trước.
 
Upvote 0

File đính kèm

Upvote 0
Bạn tham khảo file đính kèm xem co được chưa. Hy vọng đúng ý của bạn.
 

File đính kèm

Upvote 0
Bạn tham khảo file đính kèm xem co được chưa. Hy vọng đúng ý của bạn.

Cảm ơn anh QuangHai, file này đáp ứng phần lớn yêu cầu. Tuy nhiên, có mấy điểm nhỏ anh hoàn thiện thêm giúp em là:
- 3 sheet được cập nhật tự động, kết quả của stt nên reset về tự động từ 1, 2, 3, 4, 5, ....
- sheet 'DAUKY' là những vụ trước kỳ báo cáo. ví dụ: kỳ báo cáo là tuần 3 tháng 12. Khi đó, tồn đầu kỳ là tuần 2 tháng 12, tuần 1 tháng 12, tuần 3 tháng 11, tuần 2 tháng 10, .... Trong file của anh thì chỉ có thể hiển thị 1 tuần 1 tháng nên chưa đáp ứng được yêu cầu của em. Mong anh sửa lại giúp.
- sheet 'CUOIKY' thật ra không có vấn đề lớn nhưng nếu tự động cập nhật luôn thay vì ấn delete tại ô A1 thì quả là tuyệt vời.

Sớm nhận hồi âm từ anh QuangHai cùng các ACE diễn đàn. thanks.
 
Upvote 0
1. Bạn mở code ra va chèn đoạn in đậm bên dưới sẽ reset cột STT: 1,2,3,4,5...
2. Mình suy nghĩ hoài vẫn chưa hiểu tồn đầu kỳ của bạn là những điều kiện nào
3. Về yêu cầu không cần bấm nút delete thì mình chưa có cách, mong các cao thủ giúp dùm

If Trim(Sheets("TONGHOP").Range("AE" & dong).Value) = _
Trim(Target.Value) Then
Range("A" & dong1 & ":AM" & dong1).Value = _
Sheets("TONGHOP").Range("A" & dong & ":AM" & dong).Value
Range("A" & dong1).Value = dong1 - 3
dong1 = dong1 + 1
End If
 
Upvote 0
1. Bạn mở code ra va chèn đoạn in đậm bên dưới sẽ reset cột STT: 1,2,3,4,5...
2. Mình suy nghĩ hoài vẫn chưa hiểu tồn đầu kỳ của bạn là những điều kiện nào
3. Về yêu cầu không cần bấm nút delete thì mình chưa có cách, mong các cao thủ giúp dùm

If Trim(Sheets("TONGHOP").Range("AE" & dong).Value) = _
Trim(Target.Value) Then
Range("A" & dong1 & ":AM" & dong1).Value = _
Sheets("TONGHOP").Range("A" & dong & ":AM" & dong).Value
Range("A" & dong1).Value = dong1 - 3
dong1 = dong1 + 1
End If

Anh QuangHai ơi, em cố gắng giải thích để anh hiểu được khái niệm của em, anh để ý cuối bảng có 2 cột tuần và tháng:
- Vụ việc trong kỳ là thoả 2 điều kiện: And(tháng = max;tuần = max)
- Tồn đầu kỳ là TỔNG vụ việc trừ đi vụ việc trong kỳ, nghĩa là: And(tháng=max;tuần<max) + thang<max

Hy vọng là anh hiểu được với giải thích trên. Hoặc anh có thể mở file gốc "NhatKyBangHang" của em ra xem các vụ việc tồn đầu kỳ là rõ hơn với ý em vừa giải thích bên trên. Cảm ơn anh.
 
Upvote 0
Có phải tồn đầu kỳ của bạn bao gồm tất cả các tháng tồn tại trong sheet tong hop? Nếu đúng như thế thì phải chờ các cao thủ ra tay thôi. Mình bí rồi
 
Upvote 0
Có phải tồn đầu kỳ của bạn bao gồm tất cả các tháng tồn tại trong sheet tong hop? Nếu đúng như thế thì phải chờ các cao thủ ra tay thôi. Mình bí rồi

Đúng rồi anh, bao gồm tất cả các tháng trong sheet tổng hợp NHƯNG trừ đi TUẦN lớn nhất của THÁNG lớn nhất.
 
Upvote 0
Vậy có phải nếu trong sheet tonghop có thông tin của tháng 1, 2,3,4 ,5.. 12 và tháng nào cũng có nhiều tuấn và ví dụ tháng 12 có tuần 1,2,3 thì mình sẽ lấy tất cả thông tin của những tháng kia chỉ ngoại trử tuần 3 của tháng 12 là loại bỏ?
 
Upvote 0
Dạ đúng rồi anh.
Em mừng vì anh cũng đã hiểu do em giải thích chưa được chuẩn lắm. Anh thông cảm. thanks.
 
Upvote 0
hu hu hu. Các cao thủ đâu rồi ạ ??? em online liên tục và chờ dài cổ luôn. Lại tiếp tục chờ...
 
Upvote 0
Bạn xem thử coi đúng yêu cầu chưa nghen. Tuần lớn nhât của tháng lớn nhất sẽ bị loại bỏ trong sheet DAUKY. Nhưng mình thấy nó sao sao ấy... qua đến năm 2012 thì phải tính thế nào khi mà tháng 1 của 2012 sẽ bị hiểu là của 2011...
 

File đính kèm

Upvote 0
Anh Hải xem lại sheet tồn cuối kỳ giúp em vì tồn cuối kỳ là những vụ mà có số ngày thực hiện trống ( blank) còn file anh gửi thì nó tính luôn các vụ có số ngày thực hiện = 0.
 
Upvote 0
Bạn xem lại file này nha
 

File đính kèm

Upvote 0
Bạn xem lại file này nha

FIle này mọi thứ ổn hết nhưng hiện em đang vướn chổ TỒN ĐẦU KỲ là:
- Đáp ứng báo cáo tuần. (có button cập nhật)
- Nhưng báo cáo tháng thi em đang bị lủng . Vì BC tháng thì tồn đầu kỳ là những vụ của tháng trước. Tức là tháng (tồn đầu kỳ) <max(thang)

Yêu cầu hỗ trợ:
Tại sheet tồn đầu kỳ: Button hiện có mình gọi là BC tuần. Anh Hải có thể thêm 01 button kế bên, gọi là BC tháng. Mình muốn cập nhật tồn đầu kỳ theo kỳ BC nào thì click vào nút tương ứng đó để một file có thể dùng cho 2 kỳ báo cáo. thanks
 
Lần chỉnh sửa cuối:
Upvote 0
Ban xem file này coi đúng yêu câu chưa nghen. Vẫn chỉ có 1 button nhưng sẽ xuất hiện câu hỏi khi bạn bâm nut CAPNHAT
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Ban xem file này coi đúng yêu câu chưa nghen. Vẫn chỉ có 1 button nhưng sẽ xuất hiện câu hỏi khi bạn bâm nut CAPNHAT

Cảm ơn anh. BC tuần vẫn okies. Còn BC tháng thì nó chỉ ra cái tháng trước thôi. Em muốn là thể hiện các tháng chỉ trừ tháng hiện tại ( là tháng lớn nhất trong cột) thôi.
 
Upvote 0
Sao không nói sớm.. hic
 

File đính kèm

Upvote 0
Tối qua có tí thời gian nên ngồi viết lại code file này. Mình đã sửa lại sự kiện sheet_activate của sheet cuối kỳ theo yêu cầu ban đầu của bạn. Code của các sheet kia cũng đã được rút gọn lại cho bạn tham khảo
 

File đính kèm

Upvote 0
Tối qua có tí thời gian nên ngồi viết lại code file này. Mình đã sửa lại sự kiện sheet_activate của sheet cuối kỳ theo yêu cầu ban đầu của bạn. Code của các sheet kia cũng đã được rút gọn lại cho bạn tham khảo

Trước bài này đã đáp ứng được yêu cầu, chưa kịp "thanks anh". :)
Vẫn là sheet tồn đầu kỳ. với BC tuần và tháng thì okies. Em còn có BC quí và 6 tháng. anh có thể design khi ấn button đó thì ra 4 lựa chọn: BC tuần, BC tháng, BC quí, BC 6 tháng không ?

Từ những bài vừa rồi, chắc anh cũng rõ tồn cuối kỳ của BC quí và BC 6 tháng. Tuy nhiên, em vẫn sẽ phải giải thích thêm:
- Tồn đầu kỳ của BC quí: là những vụ trước 03 tháng lớn nhất liên tiếp (căn cứ theo cột tháng AM)
- Tôn đầu kỳ của BC 6 tháng: là những vụ trước 6 tháng lớn nhất liên tiếp ( căn cứ theo cột tháng AM)

thanks.
 
Upvote 0
hic.. Tiễn phật thì phải tiễn đến Tây phương thôi....
 

File đính kèm

Upvote 0
Hi anh Hải,

Nếu chỉ dựa vào sheet tổng hợp, thì anh cho em hỏi hàm (công thức) trả về giả trị tồn đầu kỳ của tuần, tháng, quí, 6 tháng được không ? thanks.
 
Upvote 0
Hic. không rõ bạn đang hỏi gì, nói rõ hơn tì nữa đi
 
Upvote 0
Ah, sorry.

Em muốn hỏi mình dùng hàm gì để biết số lượng vụ việc trong kỳ của tuần.
Giả sử: em chỉ có 01 sheet tổng hợp.
Em dùng hàm mãng, kq ra không đúng: {=SUM(IF((Thang_TH=MAX(Thang_TH))*(Tuan_TH=MAX(Tuan_TH)),1,0))}

thanks.
 
Lần chỉnh sửa cuối:
Upvote 0
Ban đang tính giá trị của cột nào vậy? bạn đặt name thế nào mình đau có thấy đâu. gởi file lên xem thử nha
 
Upvote 0
Ban đang tính giá trị của cột nào vậy? bạn đặt name thế nào mình đau có thấy đâu. gởi file lên xem thử nha

Gửi anh file yêu cầu:
- cột A, B: nhập liệu hằng ngày
- ô màu vàng: là ô yêu cầu cần thiết lập công thức để ra kết quả.

Thanks.
 

File đính kèm

Upvote 0
Đang xài code sao không yêu cầu viết code luôn. Tạm dùng cột phu nghen. Còn kết qua của báo cáo 06 tháng bạn tự làm nha. Goi ý bạn công thức này
=SUMPRODUCT((C3:C1000>=MAXTHANG-5)*1)

ô F18 có thể dùng công thức này, rắc rối hơn 1 chút

= SUMPRODUCT((C3:C1000>=MAXTHANG-2)*1)
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
hic.. Tiễn phật thì phải tiễn đến Tây phương thôi....

Anh Hải demo giúp em một đoạn code để lọc và chuyển bảng dữ liệu qua một file excel khác cùng thư mục được không.

Ví dụ: em tạo thêm 01 file tên là chitiet.xls cùng thư mục với file trước giờ anh đã giúp em.
1. Lấy dữ liệu từ sheet tổng hợp
  • Tự động lọc và đưa bảng dữ liệu của KH Hà Nội qua file chitiet.xls (cùng định dạng cột, dòng)
2. Yêu cầu tương tự nhưng lấy dữ liệu từ sheet CHITIET. Nghĩa là khi chọn KH nào thì ngoài việc dữ liệu của KH đó được liệt kê bên dưới ( đang có) thì song song đó sẽ copy đè vào dữ liệu của file chitiet.xls đang tồn tại.

thanks.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn xem file đính kèm. khi bào cần copy thi bấm vào nút COPY TO CHITIET
 

File đính kèm

Upvote 0
sao kỳ vậy, mình mới down về test lại thấy đâu có lỗi gì đâu. Phải giải nén ra trước khi chạy code nha
 
Upvote 0
Đã giải nén.
Sau khi em debug thì nó highlight dòng này
Workbooks("CHITIET").Sheets("CHITIET").[A1:AM10000].Clear

P/S: Em dùng Office 2010. Có thể các code của anh không tương thích với excel 2010 thì phải.

Thanks.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn mở code ra và thêm .xls vào sau chữ CHITIET

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Set Sh = Sheets("tonghop")
Set data = Range([A2], [AM65000].End(3))
Workbooks.Open ThisWorkbook.Path & "\CHITIET.xls"
Workbooks("CHITIET.xls").Sheets("CHITIET").[A1:AM10000].Clear
data.Copy Workbooks("CHITIET.xls").Sheets("CHITIET").[A1]
End Sub
 
Upvote 0
Đúng rồi anh. Em sửa lại thì đã chạy tốt. Cảm ơn anh.
Thực tế, em chủ yếu copy dữ liệu của KH Hà Nội để gửi BC riêng cho HN. Nhưng cứ mõi lần cập nhật danh sách KH Ha Noi ( nhấn copy to chitiet) thì sheet "BAO CAO TONG HOP" của file Chitiet.xls các công thức không cập nhật theo mà em phải vào từng ô công thức ENTER ... ENTER nó mới cập nhật giá trị đúng được.

Anh có thể cho em một đoạn mã để công thức của sheet "Bao cao tong hop" tự động cập nhật luôn. (file đính kèm)


P/S:
Cơm thêm: Anh cho một đoạn code thay thế các công thức em đang thực hiện. ( Anh làm ra một file mới giúp)


Thanks.
 

File đính kèm

Upvote 0
cái chuyện công thức không tự tính toán là vì bạn đang ở chế độ tính tóan thủ công (manual).
Ban chon Tool >Option>Calculation và chọn Automatic nghen. Còn đoạn code thay thế công thức mình sẽ làm sau nha, hôm nay là CN nên lười quá.
 
Upvote 0
Em xem thấy đã Automatic chứ không phải manual.
Anh test thì sẽ thấy ngay tình trạng này.
 

File đính kèm

  • 2012-01-08_222539.JPG
    2012-01-08_222539.JPG
    18.4 KB · Đọc: 33
Upvote 0
Khu vưc màu vàng là mình để lại cho ban nghiên cứu và viết phần code còn lại.
 

File đính kèm

Upvote 0

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

Back
Top Bottom