Mình có xem các bạn hướng dẫn về vba với macro nhưng k hiểu gì lắm, tại mình chậm hiểu trong những vấn đề này mà(
Các bạn xem và giúp mình với. (Mình có kèm file bên dưới)
Cảm ơn các bạn nhìu!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("i9").Address Then
With Sheet2
[a21:L27].ClearContents
.[A1:H1].AutoFilter field:=2, Criteria1:=Target.Value
Union(.Range("F2:F" & [F1].End(xlDown).Row), .Range("H2:H" & [H1].End(xlDown).Row)).Copy [d21]
.Range("G2:G" & [G1].End(xlDown).Row).Copy [l21]
.ShowAllData
End With
End If
End Sub
Mã khác thì bạn cứ gõ mã khác vào, nó tự ra thôi mà bạn.Cảm ơn bạn nhiều. Nhưng nếu mình muốn chạy với mã khác thì lại gọi tên hàm này hay thế nào hả bạn?
k phải dùng lệnh gì nữa hả bạn??? vậy sao mình gõ mã khác vào lại k đc nhỉ. híc
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [I9]) Is Nothing Then
Dim sh As Worksheet, rng As Range, Srng As Range, myadd As String, rowc As Long
Set sh = ThisWorkbook.Worksheets("DS")
Set rng = sh.Range(sh.[b2], sh.[b65000].End(3))
[a21:I28].ClearContents
Rows("21:27").Hidden = False
Set Srng = rng.Find(Target.Value, , xlFormulas, xlWhole)
If Not Srng Is Nothing Then
myadd = Srng.Address
Do
With [D28].End(xlUp).Offset(1)
.Value = sh.Cells(Srng.Row, 6).Value
.Offset(, 1).Value = sh.Cells(Srng.Row, "H").Value
.Offset(, 8).Value = sh.Cells(Srng.Row, "G").Value
End With
Set Srng = rng.FindNext(Srng)
Loop While Not Srng Is Nothing And Srng.Address <> myadd
End If
rowc = [D28].End(xlUp).Offset(1, 0).Row
Rows(rowc & ":27").Hidden = True
End If
End Sub