soiconkthn
Thành viên mới
- Tham gia
- 25/8/07
- Bài viết
- 34
- Được thích
- 2
- Nghề nghiệp
- kỹ sư xây dựng
Option Explicit
Sub SCriteria()
Dim Rng As Range
Set Rng = Application.InputBox("Hay Chon Vung Chuan", Type:=8)
Range("E5:G16").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Rng, _
CopyToRange:=Range("A16:C16"), Unique:=False
End Sub
Khoan nói đến giải pháp, tôi dám cá với bạn rằng dử liệu của bạn không thể dùng Advanced Filter được đâu... Vì nó thiếu mất tiêu đề cộtcách 1 giống như trên e đã thử nhưng nó vẫn ko tự động cập nhật kết quả được còn cách 2 thì e ko biết sử dụng thế nào,mong được mọi người hưỡng dẫn cách làm.
Như thế này cho tiện nha: Bạn đưa dử liệu sau khi đã chỉnh sửa lại (như tôi nói ở trên) lên đây ---> Nhớ là dử liệu phải tương đối gần giống với dử liệu thật nhé... Ngoài ra cũng nên nói rõ lọc ra cùng sheet hay lọc khác sheet... vân vân...vag may quá anh ndu96081631 anh có thể giúp e lọc cái này được không
cái macro ở trên e cũng hiểu lờ mờ là đặt biến Rng là vùng chuẩn để chọn dữ liệu khi bị thay đổi nhưng e ko biết dùng thế nào
đầy là 2 macro của anh e đọc trên diễn đàn e cũng muốn kết hợp việc xóa dữ liệu cũ đi và tự động thay đổi khi điều kiện lọc bị thay đổi
8> Chỉnh sửa code: Thêm vào phần xóa dử liệu củ trước khi lọc mới
PHP Code:
Sub Loc()
Range("A5:N1000").Clear
Sheet1.Range("A1:N" & Sheet1.[N65536].End(xlUp).Row).AdvancedFilter 2, [F1:F2], [A5]
End Sub
8> Đưa code vào sự kiện Worksheet_Change để mỗi khi ta thay đổi điều kiện lọc tại F2 thì code tự động chạy
PHP Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$2" Then
Range("A5:N1000").Clear
Sheet1.Range("A1:N" & Sheet1.[N65536].End(xlUp).Row).AdvancedFilter 2, [F1:F2], [A5]
End If
End Sub
Như tôi đã nói ở trên, nếu dùng Advanced Filter để lọc thì bắt buộc phải có tiêu đề ở dử liệu lẩn vùng điều kiện, bạn thiếu tiêu đề nên chắc chắn không thể lọc được (tôi đã sửa lại)vâng đây là file mà e muốn nhờ anh làm giúp
vẫn cái file hôm qua anh làm hộ e
lần này e muốn dữ liệu sau khi cập nhật thêm vào,no sẽ tự động cập nhật và lọc ra.
cảm ơn anh rất nhiều
Sub Loc()
Dim ShEW As Worksheet
Set ShEW = Sheets("enter word")
ShEW.Range("K6:P1000").Clear
With Range(ShEW.[A6], ShEW.[F1000].End(xlUp))
.AdvancedFilter 2, ShEW.Range("Dulieu"), ShEW.Range("K6")
End With
End Sub