Lấy DL = VBA không dùng AdvanceFilter

Liên hệ QC

ThuNghi

Hãy cho rồi sẽ nhận!
Thành viên đã mất
Tham gia
16/8/06
Bài viết
3,808
Được thích
4,449
Các bạn viết hộ 1 code Lấy DL = VBA không dùng AdvanceFilter.
Vd: sh01
stt....manv.....KhuVuc
1.......A01......MT
2.......A02......MB
3.......A03......MT
4.......A04......MN
5.......A05......MT
Giúp tôi tạo được Sh02 lấy chỉ khuvuc="MT"
1.......A01......MT
2.......A03......MT
3.......A05......MT
Loay hoay hoài mà chưa làm được.
Xin cám ơn!
 
Lấy DL = VBA, không bằng Advance Filter???
Mình sẽ lập bằng VBA nhưng lại sử dụng Advance Filter có được không?????
Bạn hãy đặt tên vùng dữ liệu của bạn là "Data"
Mã:
Sub Advance_filter()
    On Error GoTo thoat
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Dim KV
    KV = InputBox("Nhap ten KHU VUC", , "MT")
    ActiveSheet.Range("G1") = "Khuvuc"
    ActiveSheet.Range("G2") = KV
    
    Range("Data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=ActiveSheet.Range("G1:G2"), _
    CopyToRange:=Sheet2.Range("A1"), Unique:=False
    
    ActiveSheet.Range("G1:G2").Clear
thoat:
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub
 
Bạn thử dùng đoạn code sau: (Dữ liệu được lọc bắt đầu từ ô A5)

Sub locdulieu()
Dim j As Integer, k As Integer, t As Integer
Dim temp As String
'Vong lap de loc du lieu tu sheet 1
t = 4
temp = "MT"
For j = 5 To 100
If temp = Sheet1.Cells(j, 3) Then
t = t + 1
k = 1
Do While k <= 3
Sheet2.Cells(t, k) = Sheet1.Cells(j, k)
k = k + 1
Loop
Cells(t, 1) = t - 4 'danh so thu tu
End If
Next
End Sub
 
Bạn tìm mục conditional Format, trong đó có file Cond_copy dùng để lọc và copy dữ liệu rất hay.
 
Web KT

Bài viết mới nhất

Back
Top Bottom