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



- Tham gia
- 16/7/14
- Bài viết
- 146
- Được thích
- 45
Thử lại thế này.Xin chào anh/chị
Mình đang mong muốn chọn một dãy Slicer bằng code VBA để tiết kiệm thời gian nhưng kiến thức hạn chế vì vậy rất mong nhận được sự giúp đỡ của anh/chị
Để hiểu rõ hơn mình có làm 1 file demo và code được 1 đoạn.
Xin chân thành cám ơn.
Sub chon_ngay()
Application.ScreenUpdating = False
Dim i As Long, tu As Long, den As Long, sDate As String, aDate As Date
tu = Sheet2.Range("E3").Value
den = Sheet2.Range("E4").Value
With ActiveWorkbook.SlicerCaches("Slicer_Ngày_tháng")
.ClearManualFilter
For i = 1 To .SlicerItems.Count
sDate = Format(.SlicerItems(i).Caption, "DD/MM/YYYY")
aDate = VBA.DateSerial(Right(sDate, 4), Mid(sDate, 4, 2), Left(sDate, 2))
.SlicerItems(i).Selected = IIf((aDate >= tu) And (aDate <= den), True, False)
Next i
End With
Application.ScreenUpdating = True
End Sub
Xin cám ơn anh đã giúp đỡ.Thử lại thế này.
Mã:Sub chon_ngay() Application.ScreenUpdating = False Dim i As Long, tu As Long, den As Long, sDate As String, aDate As Date tu = Sheet2.Range("E3").Value den = Sheet2.Range("E4").Value With ActiveWorkbook.SlicerCaches("Slicer_Ngày_tháng") .ClearManualFilter For i = 1 To .SlicerItems.Count sDate = Format(.SlicerItems(i).Caption, "DD/MM/YYYY") aDate = VBA.DateSerial(Right(sDate, 4), Mid(sDate, 4, 2), Left(sDate, 2)) .SlicerItems(i).Selected = IIf((aDate >= tu) And (aDate <= den), True, False) Next i End With Application.ScreenUpdating = True End Sub
Cái này thì tui chưa đủ trình độ rồi, đợi thành viên khác vậy.Xin cám ơn anh đã giúp đỡ.
Tuy nhiên nhờ anh hướng dẫn code thêm điều kiện đầu tiên là phân loại A,B,C tại ô E2 sau đó mới đến ngày tháng ạ.