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



- Tham gia
- 28/3/18
- Bài viết
- 192
- Được thích
- 114
- Giới tính
- Nam
Cảm ơn bạn, mình đã ghi Macro và viết được đoạn code, nhưng khi chạy bị báo lỗi như hình, nhờ bạn và mọi người sửa giúpThử thu lại macro rồi sửa lại xem sao?
Private Sub Worksheet_Activate()
Dim sl As Slicer
Dim si As SlicerItem
Dim currentDate As Date
Dim slicerFound As Boolean
currentDate = Date
currentDate = Format(currentDate, "dd/mm/yyyy")
slicerFound = False
For Each sl In ActiveSheet.SlicerCaches("Slicer_NgayThang")
If sl.Name = "Slicer_NgayThang" Then
slicerFound = True
For Each si In sl.SlicerItems
If si.Name = currentDate Then
si.Selected = True
Else
si.Selected = False
End If
Next si
Exit For
End If
Next sl
If Not slicerFound Then
MsgBox "Không có slicer"
End If
End Sub
Thử với code này xem sao. Thả code này vào sheet có cái slicer đó. Đảm bảo phải có cái Slicer NgayThangCảm ơn bạn, mình đã ghi Macro và viết được đoạn code, nhưng khi chạy bị báo lỗi như hình, nhờ bạn và mọi người sửa giúp
Private Sub Worksheet_Activate()
Dim T As String, Item As slicerItem
T = Format(Now(), "m/d/yyyy")
With ThisWorkbook
.SlicerCaches("Slicer_NgayThang").ClearManualFilter
If .SlicerCaches("Slicer_NgayThang").SlicerItems.Count > 0 Then
For Each Item In .SlicerCaches("Slicer_NgayThang").SlicerItems
If Item.Name <> T Then
Item.Selected = False
Else
Item.Selected = True
End If
Next
End If
End With
End Sub
Cảm ơn bạn rất nhiều, mình dùng code của bạn đã chạy đúng theo mong muốnThử với code này xem sao. Thả code này vào sheet có cái slicer đó. Đảm bảo phải có cái Slicer NgayThang