Thuhanh1611
Thành viên hoạt động



- Tham gia
- 21/3/18
- Bài viết
- 105
- Được thích
- 2
- Giới tính
- Nữ
Giúp bạn 1 cách làm, bây giờ bạn chỉ cần Click chọn 2 Cell M1 và N1, rồi bấm nút với Code và File bên dướiCho mình hỏi mình muốn lọc ở cột ngày ví dụ như từ ngày 01/06/2019 đến 30/06/2019 sao mình vào data/ filter chọn custom filter mà lọc không hiển thị ai biết chỉ giúp mình với do lâu quá không sử dụng nên mình quên
Sub Test()
Application.ScreenUpdating = False
Dim a(), b(), i As Long, j As Long, k As Long, bd As Long, kt As Long, LR As Long
With Sheets("data")
a = .Range("A2", .Range("A65000").End(3)).Resize(, 9).Value
LR = UBound(a)
End With
ReDim b(1 To LR, 1 To 9)
With Sheets("data")
bd = Sheets("loc").Range("M1").Value2: kt = Sheets("loc").Range("N1").Value2
For i = 1 To LR
If a(i, 2) >= bd And a(i, 2) <= kt Then
k = k + 1
' b(k, 1) = k
For j = 2 To 9
b(k, j) = a(i, j)
Next j
End If
Next i
With Sheets("loc")
.Range("A2:I1000").Clear
.Range("A2:I1000").Borders.LineStyle = 0
End With
If k Then
With Sheets("loc")
.Range("A2").Resize(k, 9) = b
.Range("A2").Resize(k, 9).Borders.LineStyle = 1
.Columns("A:I").EntireColumn.AutoFit
.Columns("A:I").Font.Name = "Times New Roman"
End With
End If
ActiveSheet.UsedRange.Sort key1:=Range("B1"), order1:=xlAscending, Header:=xlYes
With Sheets("loc")
With .Range("A2:A" & .Range("B" & .Rows.Count).End(xlUp).Row)
.Value = Evaluate("row(1:" & .Rows.Count & ")")
End With
End With
End With
End Sub
Bác cho em hỏi chút xíu ạ. Nếu lọc cả tháng (ví dụ T6) em có thể lọc bằng cách: */06/2019 cũng được ạ. Nhưng lọc từ ngày 1 đến ngày 10 thì em không biết. Code của bác em tải về cũng không cho chọn ngày bất kỳ ạ. Có cách nào không bác?Giúp bạn 1 cách làm, bây giờ bạn chỉ cần Click chọn 2 Cell M1 và N1, rồi bấm nút với Code và File bên dưới
PHP:Sub Test() Application.ScreenUpdating = False Dim a(), b(), i As Long, j As Long, k As Long, bd As Long, kt As Long, LR As Long With Sheets("data") a = .Range("A2", .Range("A65000").End(3)).Resize(, 9).Value LR = UBound(a) End With ReDim b(1 To LR, 1 To 9) With Sheets("data") bd = Sheets("loc").Range("M1").Value2: kt = Sheets("loc").Range("N1").Value2 For i = 1 To LR If a(i, 2) >= bd And a(i, 2) <= kt Then k = k + 1 ' b(k, 1) = k For j = 2 To 9 b(k, j) = a(i, j) Next j End If Next i With Sheets("loc") .Range("A2:I1000").Clear .Range("A2:I1000").Borders.LineStyle = 0 End With If k Then With Sheets("loc") .Range("A2").Resize(k, 9) = b .Range("A2").Resize(k, 9).Borders.LineStyle = 1 .Columns("A:I").EntireColumn.AutoFit .Columns("A:I").Font.Name = "Times New Roman" End With End If ActiveSheet.UsedRange.Sort key1:=Range("B1"), order1:=xlAscending, Header:=xlYes With Sheets("loc") With .Range("A2:A" & .Range("B" & .Rows.Count).End(xlUp).Row) .Value = Evaluate("row(1:" & .Rows.Count & ")") End With End With End With End Sub
Trong File trên tôi ấn định ngày bắt đầu là ngày 01, ngày cuối tháng là 30 hay 31. Nếu bạn muốn chọn ngày bất kỳ, thì bạn phải tùy biến chứ?Bác cho em hỏi chút xíu ạ. Nếu lọc cả tháng (ví dụ T6) em có thể lọc bằng cách: */06/2019 cũng được ạ. Nhưng lọc từ ngày 1 đến ngày 10 thì em không biết. Code của bác em tải về cũng không cho chọn ngày bất kỳ ạ. Có cách nào không bác?
Em cảm ơn bác nhiều ạ. Chúc bác ngày mới vui vẻ!Trong File trên tôi ấn định ngày bắt đầu là ngày 01, ngày cuối tháng là 30 hay 31. Nếu bạn muốn chọn ngày bất kỳ, thì bạn phải tùy biến chứ?
Tôi gửi bạn File dưới, bạn thử xem
Tui thấy file sử dụng rất hay, chắc nhiều người cần. Bạn có thể thêm cái lịch để chọn ngày nữa luôn cho khỏi gõ, chỉ ngồi click thôi. (Chọn ô M1 xuất hiện cái lịch, xong chọn N1 lại xuất hiện cái lịch.)Trong File trên tôi ấn định ngày bắt đầu là ngày 01, ngày cuối tháng là 30 hay 31. Nếu bạn muốn chọn ngày bất kỳ, thì bạn phải tùy biến chứ?
Tôi gửi bạn File dưới, bạn thử xem