Chỉ cần như vầy là đủ:Em có 1 ví dụ này, em nhờ AC hoàn thiện dùm em code cho nút Checkbox.
(Câu hỏi cụ thể trong file đính kèm)
Private Sub CheckBox1_Click()
Range([A7], [A65536].End(xlUp)).AutoFilter 1, IIf(CheckBox1, "<>", Null), , , False
End Sub
Đã dùng đến code tốt nhất bạn bỏ hẳn luôn công thức tại sheet 2 đi ---> Dùng AutoFiler hoặc AdvancedFiler lọc trực tiếp từ sheet 2 sang ---> Như thế thì chẳng cần đến cái checkbox ấy làm gìEm có 1 ví dụ này, em nhờ AC hoàn thiện dùm em code cho nút Checkbox.
(Câu hỏi cụ thể trong file đính kèm)
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$B$1" Then
Application.ScreenUpdating = False
Range("A8:C10000").ClearContents
With Sheet1.Range(Sheet1.[A3], Sheet1.[A65536].End(xlUp))
.AutoFilter 1, Target.Value
.Offset(1, 1).Resize(, 3).SpecialCells(12).Copy
Range("A8").PasteSpecial 3
.AutoFilter
End With
Target.Select
Application.ScreenUpdating = True
End If
End Sub
Đã dùng đến code tốt nhất bạn bỏ hẳn luôn công thức tại sheet 2 đi ---> Dùng AutoFiler hoặc AdvancedFiler lọc trực tiếp từ sheet 2 sang ---> Như thế thì chẳng cần đến cái checkbox ấy làm gì
Ví dụ code thế này:
Mà bài toán này tại sao không dùng PivotTable cho nó sướng nhỉ? Chẳng cần tốn công thức, chẳng cần viết code... thậm chí chẳng cần tốn công tạo Validation và tốn 1 vùng để lưu Validation list luôn ----> Lợi ích vượt trội hơn bất cứ phương pháp nàoPHP:Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Address = "$B$1" Then Application.ScreenUpdating = False Range("A8:C10000").ClearContents With Sheet1.Range(Sheet1.[A3], Sheet1.[A65536].End(xlUp)) .AutoFilter 1, Target.Value .Offset(1, 1).Resize(, 3).SpecialCells(12).Copy Range("A8").PasteSpecial 3 .AutoFilter End With Target.Select Application.ScreenUpdating = True End If End Sub