Lọc dữ liệu cuối với Macro (1 người xem)

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

mr_alibebe

Thành viên mới
Tham gia
8/8/14
Bài viết
5
Được thích
0
Chào mọi người.
Tình hình là mình vướng vấn đề này mà ko biết nên viết thế nào với VBA. Nhờ các bạn giúp cho.
Mình có 1 file như đính kèm. Mình muốn lọc và bôi màu những dòng có chữ "f" nhưng yêu cầu chữ f ấy từ vị trí của nó tới cột B không có chữ nào khác (giữa khoảng không có cell nào chỉ được có cell blank )
vd : ở đây các cell C6,8,12 và F11là hợp lệ. G10 là không hợp lệ vì trong khoảng G10 tới B10 có chữ e.

cảm ơn
 

File đính kèm

Chào mọi người.
Tình hình là mình vướng vấn đề này mà ko biết nên viết thế nào với VBA. Nhờ các bạn giúp cho.
Mình có 1 file như đính kèm. Mình muốn lọc và bôi màu những dòng có chữ "f" nhưng yêu cầu chữ f ấy từ vị trí của nó tới cột B không có chữ nào khác (giữa khoảng không có cell nào chỉ được có cell blank )
vd : ở đây các cell C6,8,12 và F11là hợp lệ. G10 là không hợp lệ vì trong khoảng G10 tới B10 có chữ e.

cảm ơn
Không phải VBA lúc nào cũng tốt. Nếu công thức đơn giản mà giải quyết được vấn đề thì nên dùng công thức. Bạn thử dùng Conditional Formatting tại C2 với công thức này thử xem:
Mã:
=AND(C2="f",COUNTA($C2:C2)=1)
Nhớ copy format cho các ô còn lại.
 
Upvote 0
Cảm ơn huuthang. Nhưng vì các thứ khác đang viết bằng VBA nên mình muốn tổng hợp luôn vào 1 macro, lúc chạy cũng làm luôn được mọi việc theo yêu cầu
 
Upvote 0
Cảm ơn huuthang. Nhưng vì các thứ khác đang viết bằng VBA nên mình muốn tổng hợp luôn vào 1 macro, lúc chạy cũng làm luôn được mọi việc theo yêu cầu

Lỡ "các thứ khác" ấy nó chỏi nhau thì sao?
Ví dụ cái này nó tô màu đỏ. Cái "thứ khác" nó tô màu xanh cho cùng ô dữ liệu thì sao?
 
Upvote 0
Đảm bảo không phải :D Giờ chỉ cần giải quyết vấn đề như yêu cầu bài toán thôi :D
 
Upvote 0
Đảm bảo không phải :D Giờ chỉ cần giải quyết vấn đề như yêu cầu bài toán thôi :D
Vậy bạn cho chạy code này thử xem
[GPECODE=vb]Public Sub MauMe()
Dim Rng As Range, I As Long, J As Long, R As Long, C As Long
Set Rng = Range("B2:H14") '"Thay địa chỉ Rng lại tại đây"
R = Rng.Rows.Count
C = Rng.Columns.Count
Rng.Interior.ColorIndex = 0
For I = 1 To R
For J = 1 To C
If Rng(I, J) = "e" Then
Exit For
ElseIf Rng(I, J) = "f" Then
Rng(I, J).Interior.ColorIndex = 6
End If
Next J
Next I
Set Rng = Nothing
End Sub[/GPECODE]
 
Upvote 0
Cảm ơn Pate. Tuy chưa giải quyết triệt để yêu cầu là các ô phía trước ô chứ ký tự f phải blank nhưng vấn đề đã được giải quyết đến 75 % :D
 
Upvote 0
Cảm ơn Pate. Tuy chưa giải quyết triệt để yêu cầu là các ô phía trước ô chứ ký tự f phải blank nhưng vấn đề đã được giải quyết đến 75 % :D
Nhìn bảng dữ liệu mẫu của bạn chỉ có f và e thì làm theo kiểu đó,
Ai biết bạn muốn sao, chỉ có bạn mới hiểu rõ yêu cầu thôi.
Thay dòng này:
PHP:
If Rng(I, J) = "e" Then
bằng dòng này:
PHP:
If Rng(I, J) <> Empty And Rng(I, J) <> "f" Then
Xem kết quả thế nào.
 
Upvote 0

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

Back
Top Bottom