Giúp lọc dữ liệu theo móc thời gian (1 người xem)

Liên hệ QC

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

madman3575

Thành viên mới
Tham gia
3/12/14
Bài viết
23
Được thích
1
Hiện mình đang bắt đầu tự học về VBA, nhưng bị vướng ở kiểu dữ liệu là ngày tháng,
Cần các bro giúp cách lọc theo khoảng thời gian tạo cột "OrderDate"vmình muốn và copy sang 1 sheet khác thì phải làm sao?
Mình có gởi file đính kèm, mong mọi người xem và xử lý giúp.
Chân thành cảm ơn ạ!
 

File đính kèm

Rất cảm ơn bạn, trông chỉ có vậy thôi... mà mình làm từ qua nay kg ra.
 
Upvote 0
Hiện mình đang bắt đầu tự học về VBA, nhưng bị vướng ở kiểu dữ liệu là ngày tháng,
Cần các bro giúp cách lọc theo khoảng thời gian tạo cột "OrderDate"vmình muốn và copy sang 1 sheet khác thì phải làm sao?
Mình có gởi file đính kèm, mong mọi người xem và xử lý giúp.
Chân thành cảm ơn ạ!

Em cũng đang học VBA, Dùng AV Filter cho nó nhẹ nhàng ạ

PHP:
Sub AVFilter()
Dim MyRg As Range
Set MyRg = Sheet1.[A1].CurrentRegion
Sheet2.[A1].CurrentRegion.Offset(1, 0).ClearContents
MyRg.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "SalesOrders!Criteria"), CopyToRange:=Sheet2.Range("A1:G1"), Unique:=False
End Sub
 

File đính kèm

Upvote 0
Bạn thử sub này:
[GPECODE=vb]
Sub Loc()
Dim Sh As Worksheet, Arr()
Dim Rws As Long, J&, W&, dk1 As Date, dk2 As Date
dk1 = Sheets("SalesOrders").Range("J3").Value
dk2 = Sheets("SalesOrders").Range("L3").Value
Set Sh = ThisWorkbook.Worksheets("SalesOrders")
With Sh.[A2]
Rws = .CurrentRegion.Rows.Count
Arr() = .Resize(Rws, 7).Value
End With

ReDim dArr(1 To Rws, 1 To 7)
For J = 1 To UBound(Arr())
If Arr(J, 1) >= dk1 And Arr(J, 1) <= dk2 Then
W = 1 + W
dArr(W, 1) = Arr(J, 1)
dArr(W, 2) = Arr(J, 2)
dArr(W, 3) = Arr(J, 3)
dArr(W, 4) = Arr(J, 4)
dArr(W, 5) = Arr(J, 5)
dArr(W, 6) = Arr(J, 6)
dArr(W, 7) = Arr(J, 7)
End If
Next J
If W Then
Sheet2.[A2].Resize(65000, 7).ClearContents
Sheet2.[A2].Resize(W, 7).Value = dArr()
End If
End Sub
[/GPECODE]
Sao không thêm 1 cái For Next nữa nhìn cho gọn. Hihi.
 
Upvote 0
Em cũng đang học VBA, Dùng AV Filter cho nó nhẹ nhàng ạ

PHP:
Sub AVFilter()
Dim MyRg As Range
Set MyRg = Sheet1.[A1].CurrentRegion
Sheet2.[A1].CurrentRegion.Offset(1, 0).ClearContents
MyRg.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "SalesOrders!Criteria"), CopyToRange:=Sheet2.Range("A1:G1"), Unique:=False
End Sub
Tạo được Name trong VBA mà/-*+/
 
Upvote 0
Đứng góc độ mới học và yêu cầu của mình thì cách code của bác hpkhuong thấy dễ hiểu, nên khi cần chế biến thêm cũng tiện.... Thật sự cảm ơn bác :)
 
Upvote 0
Bác ơi cho em hỏi nếu em muốn thêm kết hợp 1 điều kiện nữa thì code như thế nào ạ?
Ví dụ với bài của bạn trên em muốn lọc trong khoảng thời gian (như code) cộng với điều kiện Region = "Central".
Em xin cảm ơn lắm lắm ạ
 
Upvote 0
Web KT

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

Back
Top Bottom