Mình muốn hỏi các bạn cách lọc từng USER trong file đính kèm sang một Sheet mới
Ai biết giúp mình với nhé!
Tôi nghĩ cái bạn cần là Advanced FilterMình muốn hỏi các bạn cách lọc từng USER trong file đính kèm sang một Sheet mới
Ai biết giúp mình với nhé!
Đây là công việc hàng tháng mình phải làm. Có thể tên USER của các tháng là khác nhau. Giả sử Nếu thêm 1 USER mới vào trong cột USER thì trong sheet "Loc" có thể tự dộng thêm USER đấy được không??
Ban boyxin có thể nói rõ cách làm cho mình biết được không. Minh muốn hỏi trong cách loc bằng VBA tại sao khi có 2 USER NBINTHA và NBINTHAO. Khi loc USER NBINTHA thi no hiện ra cả USER NBINTHAO. Có cách nào sửa được không?
(Ví dụ trong file đính kèm)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Src As Range, Loc As Range, DK As Range, user As Range
Set DK = [B1:B2]
Set Src = Sheet1.[A1].CurrentRegion
If Not Intersect(Target, DK) Is Nothing Then
Set Loc = [A5].CurrentRegion
Loc.ClearContents
Src.AdvancedFilter 2, DK, [A5]
Range("B5").AutoFilter 2, "<>" & [b2]
Range([b6], [b6].End(xlDown)).SpecialCells(12).EntireRow.Delete
Selection.AutoFilter
End If
Src.Offset(, 1).Resize(, 1).AdvancedFilter 2, , [Z1], Unique:=True
ActiveWorkbook.Names.Add name:="User", RefersToR1C1:=Range([Z2], [Z2].End(xlDown))
Names("Extract").Delete
End Sub
Đây là file mới nhất, chỉ thêm 1 đoạn code nhỏ (lấy danh sách User) và đặt lại name cho Validation ListXin hỏi bạn ndu96081631. Đây là công việc hàng tháng mình phải làm. Có thể tên USER của các tháng là khác nhau. Giả sử Nếu thêm 1 USER mới vào trong cột USER thì trong sheet "Loc" có thể tự dộng thêm USER đấy được không??
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Src As Range, Loc As Range, DK As Range
Set Src = Sheet1.[A1].CurrentRegion
Set DK = [B1:B2]
Set Loc = [A5].CurrentRegion
If Not Intersect(Target, DK) Is Nothing Then
Loc.ClearContents
Src.AdvancedFilter 2, DK, [A5]
End If
End Sub
Private Sub Worksheet_Activate()
Dim Rng As Range
With Sheet1
.[V1:V1000].ClearContents
Set Rng = .Range(.[B1], .[B65536].End(xlUp))
Rng.AdvancedFilter 2, , .[V1], True
End With
End Sub
còn nữa nèĐây là file mới nhất, chỉ thêm 1 đoạn code nhỏ (lấy danh sách User) và đặt lại name cho Validation List
Bây giờ bạn cứ yên tâm nhập liệu, mổi khi có sự thay đổi về dử liệu nhập thì chỉ cần bạn chọn vào sheet Loc là mọi thứ sẽ tự cập nhật, kể cả danh sách User
PHP:Private Sub Worksheet_Change(ByVal Target As Range) Dim Src As Range, Loc As Range, DK As Range Set Src = Sheet1.[A1].CurrentRegion Set DK = [B1:B2] Set Loc = [A5].CurrentRegion If Not Intersect(Target, DK) Is Nothing Then Loc.ClearContents Src.AdvancedFilter 2, DK, [A5] End If End Sub
Xem file đính kèmPHP:Private Sub Worksheet_Activate() Dim Rng As Range With Sheet1 .[V1:V1000].ClearContents Set Rng = .Range(.[B1], .[B65536].End(xlUp)) Rng.AdvancedFilter 2, , .[V1], True End With End Sub
Minh muốn hỏi trong cách loc bằng VBA tại sao khi có 2 USER NBINTHA và NBINTHAO. Khi loc USER NBINTHA thi no hiện ra cả USER NBINTHAO. Có cách nào sửa được không?
(Ví dụ trong file đính kèm)
Là sao? Tôi không hiểu <---- Trục trặc chổ nào đâu?còn nữa nè
ndu có biết AdvancedFilter cần thêm thông số gì thì lọc chính xác vùng điều kiện để xử lý vụ trên mà không phải thêm 1 lần AutoFilter nữa không?
Chẳng hiểu sao Advanced Filter lại bị lổi sơ đẳng này... Thôi thì dùng AutoFilter vậy!còn nữa nè
ndu có biết AdvancedFilter cần thêm thông số gì thì lọc chính xác vùng điều kiện để xử lý vụ trên mà không phải thêm 1 lần AutoFilter nữa không?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Src As Range, Loc As Range, DK As Range
Set Src = Sheet1.[A1].CurrentRegion
Set DK = [B2]
Set Loc = [A5:R1000]
If Not Intersect(Target, DK) Is Nothing Then
Loc.ClearContents
Src.AutoFilter 2, DK
Src.SpecialCells(12).Copy Destination:=[A5]
Sheet1.AutoFilterMode = False
End If
End Sub
Private Sub Worksheet_Activate()
Dim Rng As Range
With Sheet1
.[V1:V1000].ClearContents
Set Rng = .Range(.[B1], .[B65536].End(xlUp))
Rng.AdvancedFilter 2, , .[V1], True
End With
End Sub