Nhờ sửa code lọc dữ liệu (2 người xem)

  • Thread starter Thread starter tuan16
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

tuan16

Thành viên thường trực
Tham gia
28/11/13
Bài viết
291
Được thích
19
Em xin nhờ các anh chị trong diễn đàn viết giúp em đoạn code để lọc dữ liệu.. cụ thể là khi chọn các giá trị trong cột n2 thì sẽ tự động lọc các giá trị của bảng sẽ cho kết quả như ảnh đính kèm ạ
 

File đính kèm

Em làm không được ạ.. bác giúp em với ạ
Làm theo bài này

 
Sub LOC_CotD()
Dim sdata As Worksheet
Dim dongcuoi As Variant
Dim i As Integer
Dim cotd As String

Application.ScreenUpdating = False
cotd = Range("N2").Value
Set sdata = Sheets("Don gia chi tiet")
With sdata
.Range("A5:J5").AutoFilter
dongcuoi = "A5:J" & .Cells(.Rows.Count, 4).End(xlUp).Row
ActiveSheet.Range(dongcuoi).AutoFilter Field:=4, Criteria1:=cotd
End With
Set dongcuoi = Nothing
Application.ScreenUpdating = True
End Sub
 

File đính kèm

Sub LOC_CotD()
Dim sdata As Worksheet
Dim dongcuoi As Variant
Dim i As Integer
Dim cotd As String

Application.ScreenUpdating = False
cotd = Range("N2").Value
Set sdata = Sheets("Don gia chi tiet")
With sdata
.Range("A5:J5").AutoFilter
dongcuoi = "A5:J" & .Cells(.Rows.Count, 4).End(xlUp).Row
ActiveSheet.Range(dongcuoi).AutoFilter Field:=4, Criteria1:=cotd
End With
Set dongcuoi = Nothing
Application.ScreenUpdating = True
End Sub
Chỗ ActiveSheet.Range(dongcuoi).AutoFilter Field:=4, Criteria1:=cotd phải thay bằng
.Range(dongcuoi).AutoFilter Field:=4, Criteria1:=cotd vì đây thuộc phạm vi của With sdata ... End With rồi

Set dongcuoi = Nothing lẽ ra phải là Set sdata = Nothing

Và cái dongcuoi của bạn không phải là dòng mà thực ra là 1 biến chuỗi chứa địa chỉ vùng cần lọc, nên khai báo là AdrsFilter as String
 
Em xin nhờ các anh chị trong diễn đàn viết giúp em đoạn code để lọc dữ liệu.. cụ thể là khi chọn các giá trị trong cột n2 thì sẽ tự động lọc các giá trị của bảng sẽ cho kết quả như ảnh đính kèm ạ
Sử dụng AutoFilter thì không cần rào trước đón sau gì hết, chỉ cần đơn giản vầy thôi:
Mã:
Sub Loc_CotD()
 Sheet32.Range("A1").CurrentRegion.Offset(6).AutoFilter Field:=4, Criteria1:=Range("N2").Value
End Sub
 
Lần chỉnh sửa cuối:
Sử dụng AutoFilter thì không cần rào trước đó sau gì hết, chỉ cần đơn giản vầy thôi:
Mã:
Sub Loc_CotD()
 Sheet32.Range("A1").CurrentRegion.Offset(6).AutoFilter Field:=4, Criteria1:=Range("N2").Value
End Sub
em xin cảm ơn ạ
Bài đã được tự động gộp:

Sub LOC_CotD()
Dim sdata As Worksheet
Dim dongcuoi As Variant
Dim i As Integer
Dim cotd As String

Application.ScreenUpdating = False
cotd = Range("N2").Value
Set sdata = Sheets("Don gia chi tiet")
With sdata
.Range("A5:J5").AutoFilter
dongcuoi = "A5:J" & .Cells(.Rows.Count, 4).End(xlUp).Row
ActiveSheet.Range(dongcuoi).AutoFilter Field:=4, Criteria1:=cotd
End With
Set dongcuoi = Nothing
Application.ScreenUpdating = True
End Sub
dạ em cảm ơn
 
Offset(6) là bao gồm cả 6 dòng trắng bên dưới.
 
Web KT

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

Back
Top Bottom