huuthang_bd
Chuyên gia GPE
3 là dùng kế "Thay mận đổi đào".3 là hết cách...
3 là dùng kế "Thay mận đổi đào".3 là hết cách...
Ngày nay, không ai chịu chết thay ai đâu.3 là dùng kế "Thay mận đổi đào".
Lại cái tội đọc không kỹ. Người ta nói "mặt nạ" là ẩn ý từ "format". Format ra text tức là chụp mặt nạ cho trị.Vậy tức là không có cách nào advanced filter dạng ngày Việt Nam luôn trong code hả bác? Chỉ có thể:
1 là phải dùng ngày kiểu Mỹ.
2 là phải dùng 2 bảng điều kiện.
3 là hết cách...
Không xái mặt nạ thì cũng còn cách khác mà mắt người ta:Xã hội bây giờ cũng vậy thôi, ai cũng có ít nhất một cái mặt nạ.
Phương án giấu là sau cùng, trước tiên có cách nào cho vào criteria không bác?
Những câu hỏi thật là không muốn trả lời chút nào. Nếu có thì người ta đã trả lời từ tám hoánh.Vậy tức là không có cách nào advanced filter dạng ngày Việt Nam luôn trong code hả bác?
Bài 30 tôi chỉ cách này thì chê xấuFormat(ngày, "yyyymmdd")
Đây chính là kế "Thay mận đổi đào" mà bài 41 muốn nói.Của để trưng là hàng giả, vô giá trị (với code)
Khi cần chạy code thì gắn đồ hữu dụng vào range. Chạy code xong lại gắn của giả vào.
Như ảnh sau thì VBA chạy tốt, kể range và name.
Code này rất hay, hiện tại đáp ứng bài này, tuy nhiên có chút tớ cảm giác chưa tối ưu và hơi khó dùng:code xử lý lọc nhiều điều kiện
Sub zzz3()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim arr()
Dim dong, cot
arr = Range("_LOCC4").Value
For dong = LBound(arr, 1) + 1 To UBound(arr, 1)
For cot = LBound(arr, 2) To UBound(arr, 2)
If arr(dong, cot) <> "" Then
arr(dong, cot) = Left(arr(dong, cot), 2) & CLng(CDate(Mid(arr(dong, cot), 3, 10)))
End If
Next cot
Next dong
Sheets.Add(AFTER:=ActiveSheet).Name = "TEMP"
Sheets("TEMP").Range("a1").Resize(dong - 1, cot - 1) = arr
Sheets("C4").Range("_BANGC4").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Sheets("TEMP").Range("a1").CurrentRegion, Unique:=False
Sheets("TEMP").Delete
Sheets("C4").Activate
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Cảm ơn bạn nhiều nhé, mình đã xem qua, có thể áp dụng được vào file của mình.Trước mình có tìm trên diễn đàn, thấy được code xử lý lọc nhiều điều kiện như mã đơn hàng, số lượng mà mình cho là hay.
Bạn xem tham khảo thử.Filter Array 2D theo nhiều điều kiện
Hàm nhận 2 tham số iArray (Mảng hoặc Range) và iFilter as String (điều kiện Filter) Các điều kiện được nối với nhau bởi OR, AND, ]OR[, ]AND[ theo mức độ ưu tiên từ cao đến thấp như sau: ]AND[ >> ]OR[ >> AND >> OR. Các toán tử so sánh gồm: LIKE, !LIKE, =, =, . Trong đó LIKE và !LIKE dùng cho...www.giaiphapexcel.com
Cách 2: Xấu không biết giấu đi à?Cách 3:
...
Cách 4:
Có lẽ là cách mà bác Mỹ, bác Thắng, bác Vet nhắc đến, gọi là "hoa quả" gì đó.
Còn 1 cách mà với người ưa cái mẽ bề ngoài gọi là xấu: → Hình như bác tạo cột phụ, như thế thì không cần thiết, em chỉ muốn có từng đó cột thôi, ví dụ em cần thêm dữ liệu tầm 50 cột nữa thì lúc sai tìm cột FALSE TRUE sửa thì lâu lắm.Còn 1 cách mà với người ưa cái mẽ bề ngoài gọi là xấu
Cách 2: Xấu không biết giấu đi à?
Cách 3 tôi không thèm quan tâm vì cả đống code chẳng làm được gì. Chưa chắc đã làm đúng như trong link.
Cách 4: Cần quái gì cái sheet Temp
Cách của tôi KHÔNG dùng cột phụ.Còn 1 cách mà với người ưa cái mẽ bề ngoài gọi là xấu: → Hình như bác tạo cột phụ
Thiện nguyện thì chỉ là muỗi với em, với em: tiền thì em không thiếu, nhiều thì em không có.bài khó
Đang kiếm tiền thiện nguyện mà @huuthang_bd"Thay mận đổi đào" chỉ cần làm vầy thôi, muốn giấu thì đưa vô name.
Tình hình này chắc anh chờ tới mùa quýt.Đang kiếm tiền thiện nguyện mà @huuthang_bd
Ồ, thế mà em không nghĩ ra được. Chán quá, thiệt tình tư duy mình kém quá."Thay mận đổi đào" chỉ cần làm vầy thôi, muốn giấu thì đưa vô name.
View attachment 303894Mã:Range("H1").Value = "yyyy/mm/dd" 'AdvancedFilter Range("H1").Value = "dd/mm/yyyy"
Con người bạn không xứng đáng được trả lời từ giờ trở về sau.Xin cảm ơn bác nhé, thiện nguyện em xin phép dành dịp khác vậy. Hề hề.