Macro lọc dữ liệu

Liên hệ QC

Anti-Plus

Thành viên chính thức
Tham gia
25/3/08
Bài viết
65
Được thích
8
Xin chào,

Mình đang có macro lọc dữ liệu tự động & quá trình lọc thì mình đã chạy OK, nhưng mình cần các bạn giúp đỡ thêm là khi lọc dữ liệu tự động ra được thì những ô nào có kết quả bằng 0 thì ô đó sẽ hiển thị trắng chứ kô hiển thị số 0. Sau đây là file & hình ảnh minh họa dành cho các bạn tham khảo.

XSMB.jpg


Cám ơn các bạn rất nhiều !​
 

File đính kèm

Có 1 cách làm mất số 0 đơn giản là: bạn vào menu Tools -> Options -> bỏ dấu chọn Zero Values -> OK là được. Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy phải xem bạn có tìm được trong Macro đó có dòng nào ghi là Cells hoặc Range gì đó = 0 ko? Nếu có thì đổi nó lại thành = "" là được. Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Trong Module 1 bạn tìm đến dòng CommCell.Offset(0, Vonglap) = j rồi bổ sung thêm hai dòng như sau nữa là được.
Mã:
 [COLOR=#000000][FONT=Courier New][COLOR=#dd0000]'[COLOR=#007700]............. [/COLOR][/COLOR][/FONT] [FONT=Courier New][COLOR=#dd0000]If j = 1 Then[/COLOR][/FONT] [FONT=Courier New][COLOR=black]CommCell.Offset(0, Vonglap) = j[/COLOR][/FONT] [FONT=Courier New][COLOR=#dd0000]End If[/COLOR][/FONT] [FONT=Courier New][COLOR=#dd0000]'[/COLOR][COLOR=#007700]............. [/COLOR][/FONT][/COLOR] [FONT=Courier New][COLOR=black]
[/COLOR][/FONT] Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Trong Module 1 bạn tìm đến dòng CommCell.Offset(0, Vonglap) = j rồi bổ sung thêm hai dòng như sau nữa là được.
Mã:
[COLOR=#000000][FONT=Courier New][COLOR=#dd0000]'[COLOR=#007700]............. [/COLOR][/COLOR][/FONT]
[FONT=Courier New][COLOR=#dd0000]If j = 1 Then[/COLOR][/FONT]
[FONT=Courier New][COLOR=black]CommCell.Offset(0, Vonglap) = j[/COLOR][/FONT]
[FONT=Courier New][COLOR=#dd0000]End If[/COLOR][/FONT]
[FONT=Courier New][COLOR=#dd0000]'[/COLOR][COLOR=#007700]............. [/COLOR][/FONT][/COLOR]
Thân.

Mình đã làm giống như bạn rồi, nhưng những ô có kết quả > 0 thì đều trả về số 1 hết, ví dụ những ô có giá trị bằng 2 hoặc 3 thì đều không hiển thị ra mà trả về thành ô trắng luôn. Bạn kiểm tra lại giúp mình nhé. Cám ơn !

Mình vừa test lại với j > 0 thì kết quả cho ra thành công tốt đẹp.

Mã:
[COLOR=#000000][FONT=Courier New][COLOR=#dd0000]'[COLOR=#007700]............. [/COLOR][/COLOR][/FONT]
[FONT=Courier New][COLOR=#dd0000]If j > 0 Then[/COLOR][/FONT]
[FONT=Courier New][COLOR=black]CommCell.Offset(0, Vonglap) = j[/COLOR][/FONT]
[FONT=Courier New][COLOR=#dd0000]End If[/COLOR][/FONT]
[FONT=Courier New][COLOR=#dd0000]'[/COLOR][COLOR=#007700]............. [/COLOR][/FONT][/COLOR]
 
Lần chỉnh sửa cuối:
Upvote 0
Các bạn có cách nào xử lý cùng với Macro luôn không ? nếu xử lý được với macro thì sẽ hay hơn mình dùng Options của Excel
Bạn dùng thêm 1 code tìm và thay thế.
PHP:
Sub Macro1()
With ActiveSheet.Range("C4:CX1000")
        .Replace What:="0", Replacement:="", LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
End With
End Sub
File này kỳ công ghê, hỏi nhỏ, ra số 1, 2 để làm gì vậy. Đánh đề???
 
Upvote 0
Số 1, 2, 3 kia là số lần của cặp số cuối cùng của lô được lặp lại trong ngày hôm đó. Ví dụ: 1 ngày sổ số ra 18 cặp số đuôi thì cặp số đuôi nằm ở đâu từ 00 đến 99 và cặp đó đã được hiện ra mấy lần. @Anti-Plus: Bạn dừng nên dùng số 00 nha, ở đây mấy chị khuyên đừng nên dùng vì nếu trúng sẽ xui 3 tháng lận đó. Chúc thành công! (Nhớ chia nha!) Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
@Po_Pikachu

Bạn ơi, giúp mình làm thêm cột SUM ở phía trên mỗi ô số được không ? ví dụ mình muốn làm thêm cột SUM ở phía trên mỗi ô số từ 00 đến 99. Công thức của mình cần SUM là nếu mỗi ô số có chứa giá trị > 0 thì được tính là 1 (cho dù giá trị đó là 2 hay 3 hoặc 4 thì cũng đều được tính là 1 hết).

Ví dụ thực tế theo hình minh họa trên thì từ ngày 06/10/2008 đến 29/10/2008 ở phía trên ô số 00 mình sẽ SUM được kết bằng 7 (nếu SUM dạng thông thường từ 06/10/2008 đến 29/10/2008 thì sẽ trả kết quả SUM bằng 10)

Cám ơn rất nhiều !
 
Upvote 0
Web KT

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

Back
Top Bottom