Trong file của em sự kiện Worksheets_Change đã lấy được số liệu khi em thay đổi ở cột B. Giờ em muốn gán nó vào sự kiện CommandButton_Click() trong nút lệnh Lọc Dữ Liệu. Nhờ các thầy xem giúp em với. Cả nút Lọc nữa cũng báo lỗi mà em không biết chỉnh thế nào cả. Cảm ơn các thầy.
Bạn mở code trong nút lọc dữ liệu ra, xoa hết và copy dán đoạn code này váo coi sao
Option Explicit
Private Sub Cmd_Click()
Dim Cll, MaPt
Dim DK
Dim Target As Range
On Error Resume Next
With Application
.ScreenUpdating = False
.Calculation = 3
End With
DK = Cmd.Caption = "Loc"
With Range("$A$5:$j$2000")
If DK Then .AutoFilter Field:=1, Criteria1:="<>" Else .AutoFilter
End With
Cmd.Caption = IIf(DK, "Khong Loc", "Loc")
If Not Intersect(Target, Range("b7:b10000")) Is Nothing Then
Set MaPt = Sheets("CDNXT").Range(Sheets("CDNXT").[b7], Sheets("CDNXT").[b50000].End(xlUp))
For Each Cll In MaPt
If Target.Count > 1 Then
Target = ""
Exit Sub
End If
If Cll <> "" Then
If Cll = Target Then
With Target
.Offset(, 1) = Cll.Offset(, 1)
.Offset(, 2) = Cll.Offset(, 2)
.Offset(, 3) = Cll.Offset(, 3)
.Offset(, 4) = Cll.Offset(, 4)
.Offset(, 5) = Cll.Offset(, 5)
.Offset(, 6) = Cll.Offset(, 6)
.Offset(, 7) = Cll.Offset(, 7)
.Offset(, 8) = Cll.Offset(, 8)
.Offset(, 23) = Cll.Offset(, 9)
.Offset(, 24) = Cll.Offset(, 10)
' .Offset(, 3) = .Offset(, 1) * .Offset(, 2)
' .Offset(, 5) = Cll.Offset(, 11)
' .Offset(, 6) = .Offset(, 5) - .Offset(, 5) * 10 / 100
End With
Range([b7], [b10000].End(xlUp)).Offset(, -1) = [row(A:A)]
End If
End If
Next Cll
End If
With Application
.ScreenUpdating = 1
.Calculation = 1
End With
End Sub