Muốn tự động thì xài thử Sub này.Ý mình là muốn tự động chuyển danh sách qua sheet kia. Chứ mỗi lần cập nhập thêm lại phải copy nữa.
Public Sub Loc_NP()
Dim sArr(), dArr(), I As Long, K As Long
With Sheet1
sArr = .Range(.[B4], .[C65536].End(xlUp)).Value2
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 3)
For I = 1 To UBound(sArr, 1)
If UCase(sArr(I, 2)) = "X" Then
K = K + 1
dArr(K, 1) = K
dArr(K, 2) = sArr(I, 1)
dArr(K, 3) = sArr(I, 2)
End If
Next I
Sheet2.[A4:C1000].ClearContents
If K Then Sheet2.[A4].Resize(K, 3) = dArr
End Sub
Muốn tự động thì xài thử Sub này.
Cám ơn sự giúp đỡ. Đúng như ý muốn của mình rồi. Cám ơn
Xin cho hỏi có cách nào mình bỏ cái nút bấm Sub được không; cứ cấp nhật dữ liệu là nó tự động chuyển sang danh sách kiaMuốn tự động thì xài thử Sub này.
PHP:Public Sub Loc_NP() Dim sArr(), dArr(), I As Long, K As Long With Sheet1 sArr = .Range(.[B4], .[C65536].End(xlUp)).Value2 End With ReDim dArr(1 To UBound(sArr, 1), 1 To 3) For I = 1 To UBound(sArr, 1) If UCase(sArr(I, 2)) = "X" Then K = K + 1 dArr(K, 1) = K dArr(K, 2) = sArr(I, 1) dArr(K, 3) = sArr(I, 2) End If Next I Sheet2.[A4:C1000].ClearContents If K Then Sheet2.[A4].Resize(K, 3) = dArr End Sub
Bạn thử thêm code sau chép vào sheet1, sau nhi nhập tên mới , hoặc sửa , sau khi đánh "x"tại cột c bạn xem kết quả :Xin cho hỏi có cách nào mình bỏ cái nút bấm Sub được không; cứ cấp nhật dữ liệu là nó tự động chuyển sang danh sách kia
Chắc là quá đúng ý tác giả rồi! Cảm ơn NgoaiThanh!Bạn thử thêm code sau chép vào sheet1, sau nhi nhập tên mới , hoặc sửa , sau khi đánh "x"tại cột c bạn xem kết quả :
Private Sub WorkSheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C4:C1000]) Is Nothing Then
Call Loc_NP
End If
End Sub
Đàng nào thì cũng chỉ xem được khi chọn sheet LOC-NP, Mỗi lần nhập dữ liệu đều phải "bị" Lọc có vẻ hơi bị thừa.Bạn thử thêm code sau chép vào sheet1, sau nhi nhập tên mới , hoặc sửa , sau khi đánh "x"tại cột c bạn xem kết quả :
Private Sub WorkSheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C4:C1000]) Is Nothing Then
Call Loc_NP
End If
End Sub
Private Sub Worksheet_Activate()
Loc_NP
End Sub
cám ơn thày! đúng là sử dụng Worksheet_Activate thì sau khi nhập xong dữ liệu ( kể cả dữ liệu nhiều , thì code cũng chỉ phải chạy 1 lần )Đàng nào thì cũng chỉ xem được khi chọn sheet LOC-NP, Mỗi lần nhập dữ liệu đều phải "bị" Lọc có vẻ hơi bị thừa.
Sao không để nó ở Worksheet_Activate() nhỉ?