E có dùng công cụ Advance Filter để tạo ra khá nhiều nút lệnh, trong module có code sau:
E thấy các câu lệnh đều giống nhau.. chỉ có mỗi CriteriaRange là khác nhau... Vậy có cách nào để rút ngắn các Code này lại không (hoặc có cách nào hay hơn).. vì có thể sẽ phải thêm nhiều CriteriaRange nữa ạh
Mã:
Sub overdue()
With Sheets("report")
Sheets("report").Unprotect
Range("C6:M10000").Clear
Range("data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("quahan"), CopyToRange:=Sheets("report").Range("C5:M5"), Unique:=False
Sheets("report").Protect
End With
End Sub
Sub Cbal()
With Sheets("report")
Sheets("report").Unprotect
Range("C6:M10000").Clear
Range("data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("Cbal"), CopyToRange:=Sheets("report").Range("C5:M5"), Unique:=False
Sheets("report").Protect
End With
End Sub
Sub no_active()
With Sheets("report")
Sheets("report").Unprotect
Range("C6:M10000").Clear
Range("data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("no_active"), CopyToRange:=Sheets("report").Range("C5:M5"), Unique:=False
Sheets("report").Protect
End With
End Sub
Sub giahan()
With Sheets("report")
Sheets("report").Unprotect
Range("C6:M10000").Clear
Range("data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("giahan"), CopyToRange:=Sheets("report").Range("C5:M5"), Unique:=False
Sheets("report").Protect
End With
End Sub
Sub no_number()
With Sheets("report")
Sheets("report").Unprotect
Range("C6:M10000").Clear
Range("data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("no_number"), CopyToRange:=Sheets("report").Range("C5:M5"), Unique:=False
Sheets("report").Protect
End With
End Sub