Giải thích giùm e code này có tác dụng auto filter (1 người xem)

Liên hệ QC

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

tamhoncuada10313

Thành viên thường trực
Tham gia
7/4/08
Bài viết
221
Được thích
65
E download được file này trên 4rum. Giờ có việc dùng đến nó. Em chỉ không hiểu biến DS ở đây là sao?Mong các bác giải thích giùm?

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$B$2" Then
    Set DS = [A4].CurrentRegion
    DS.AdvancedFilter Action:=1, CriteriaRange:=Range("B1:B2")
  End If
End Sub
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
E download được file này trên 4rum. Giờ có việc dùng đến nó. Em chỉ không hiểu biến DS ở đây là sao?Mong các bác giải thích giùm?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
Set DS = [A4].CurrentRegion
DS.AdvancedFilter Action:=1, CriteriaRange:=Range("B1:B2")
End If
End Sub
Set DS = [A4].CurrentRegion tương đương với cái này:
- Đặt con trỏ tại A4
- Bấm tổ hợp phím Ctrl + Shift + * (Ctrl và Shift và dấu * nằm trên số 8)
Bạn làm thử xem nó chọn cái gì
Bạn có thể bỏ luôn biến DS và viết trực tiếp thế này:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$B$2" Then
    Range("A4").CurrentRegion.AdvancedFilter 1, Range("B1:B2")
  End If
End Sub
 
Upvote 0
Điều kiện lọc của em là chuỗi thì có lọc được không ạ?
Range("A4").CurrentRegion.AdvancedFilter 1 thì 1 ở đây nghĩa là gì?
 
Upvote 0
Điều kiện lọc của em là chuỗi thì có lọc được không ạ?
Range("A4").CurrentRegion.AdvancedFilter 1 thì 1 ở đây nghĩa là gì?
Cụ thể lọc cái gì?
Số 1 trong code có nghĩa là LỌC TẠI CHỔ ---> Khi nào lọc và copy sang nơi khác thì số này = 2
 
Upvote 0
nhờ các anh chị giải thích giúp câu lệnh :

If Target.Address = "$B$2" Then

Target là gì, Address là gì, trong excel nó tham chiếu đến mảng hay đối tượng nào chăng ? hay đây là hàm trong VBA ? Hay đây là biến ?
 
Upvote 0
nhờ các anh chị giải thích giúp câu lệnh :

If Target.Address = "$B$2" Then

Target là gì, Address là gì, trong excel nó tham chiếu đến mảng hay đối tượng nào chăng ? hay đây là hàm trong VBA ? Hay đây là biến ?
Code ở trên nằm trong sự kiện Worksheet_Change ---> Tức có gì đó thay đổi (ví dụ bạn nhập liệu) thì code sẽ chạy
Vậy Target trong trường hợp này chính là cell mà bạn nhập liệu vào
If Target.Address = "$B$2" Then có nghĩa là "Nếu cell nhập liệu của tôi có địa chỉ là $B$2 thì.... "
Address dịch sang tiếng Việt là địa chỉ
Target.Address là địa chỉ của Target
Thế thôi!
 
Upvote 0
Set DS = [A4].CurrentRegion tương đương với cái này:
- Đặt con trỏ tại A4
- Bấm tổ hợp phím Ctrl + Shift + * (Ctrl và Shift và dấu * nằm trên số 8)
Bạn làm thử xem nó chọn cái gì
Bạn có thể bỏ luôn biến DS và viết trực tiếp thế này:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$B$2" Then
    Range("A4").CurrentRegion.AdvancedFilter 1, Range("B1:B2")
  End If
End Sub
Anh ơi cho em hỏi tại sao bấm Ctr+* nó lại chỉ chọn A4:J24 mà lại không chọn vùng khác ạ.
 
Upvote 0

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

Back
Top Bottom