Giúp sữa Code lại lọc không phần biệt chữ hoa và chữ thường (1 người xem)

Liên hệ QC

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

congnguyen88

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
22/7/14
Bài viết
355
Được thích
31
Sub loc()
Dim kq(1 To 10000, 1 To 1), dl(), i, j
With Sheet2
dl = .Range("a1:a20").Value
End With
For i = 1 To UBound(dl)
If dl(i, 1) <> "" Then
If dl(i, 1) Like "*" & Sheet1.TextBox1.Value & "*" Then
j = j + 1
kq(j, 1) = dl(i, 1)
End If
End If
Next
If j Then Sheet1.ListBox1.List = kq
End Sub

Mong anh em nhiệt tình giúp đở mình 2 ý sau :
1.
đoạn Code này dùng để lọc ra những từ có liên quan khi Nhập trong Textbox1, nhưng lại phân biệt chữ hoa chữ thường. Ví dụ tôi nhập từ " Bánh" thì " Bánh kem" hiện ra mà " bánh kem" không có hiện ra.
Tôi muốn anh em sữa lại làm sao Code này Lọc nhưng không phân biệt chữ hoa chữ thường. (Chứ đã dùng code rồi còn dùng hàm Lower nữa gà quá ) .

2.
Khi mình nhập liệu xong tại ô Textbox ( ô B1 ), bấm phím mũi tên xuống từ bàn phím thì lúc này điểm chọn tại Listbox ( giống như Listbox.Setforcus đó )
rồi dùng phím mũi tên lên xuống chọn tên hàng phù hợp nhấn Enter để chọn. Chứ đang nhập liệu lại cầm con chuột mất thời gian quá . Mong anh em nhiệt tình giúp đỡ

Xin cảm ơn !
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn nên kết hợp sử dụng hàm Ucase hoặc Lcase trong code để đưa tất cả về cùng 1 định dạng (chữ hoa/thường), sẽ khắc phục được vấn đề này. Chẳng hạn, sửa dòng lệnh
Mã:
[COLOR=#000000]If dl(i, 1) Like "*" & Sheet1.TextBox1.Value & "*" Then[/COLOR]
thành
Mã:
[COLOR=#000000]If Ucase(dl(i, 1)) Like "*" & Ucase(Sheet1.TextBox1.Value) & "*" Then[/COLOR]

Vấn đề thứ 2 thì bạn có thể sử dụng phím Tab để chuyển đến control kế tiếp trên Form, nhấn tổ hợp Alt + mũi tên xuống để xổ danh sách trong ListBox, ComboBox.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn nên kết hợp sử dụng hàm Ucase hoặc Lcase trong code để đưa tất cả về cùng 1 định dạng (chữ hoa/thường), sẽ khắc phục được vấn đề này. Chẳng hạn, sửa dòng lệnh
Mã:
[COLOR=#000000]If dl(i, 1) Like "*" & Sheet1.TextBox1.Value & "*" Then[/COLOR]
thành
Mã:
[COLOR=#000000]If Ucase(dl(i, 1)) Like "*" & Ucase(Sheet1.TextBox1.Value) & "*" Then[/COLOR]

Vấn đề thứ 2 thì bạn có thể sử dụng phím Tab để chuyển đến control kế tiếp trên Form, nhấn tổ hợp Alt + mũi tên xuống để xổ danh sách trong ListBox, ComboBox.

Cảm ơn bạn nhiều về đoạn Code. Còn ý thứ 2 Là cái Textbox, và Listbox đó không phải trong Form mà là Active ngoài bảng tính bạn ak.Bạn mở File xem giúp mình đi
 
Upvote 0
Bạn nên kết hợp sử dụng hàm Ucase hoặc Lcase trong code để đưa tất cả về cùng 1 định dạng (chữ hoa/thường), sẽ khắc phục được vấn đề này. Chẳng hạn, sửa dòng lệnh
Mã:
[COLOR=#000000]If dl(i, 1) Like "*" & Sheet1.TextBox1.Value & "*" Then[/COLOR]
thành
Mã:
[COLOR=#000000]If Ucase(dl(i, 1)) Like "*" & Ucase(Sheet1.TextBox1.Value) & "*" Then[/COLOR]

Vấn đề thứ 2 thì bạn có thể sử dụng phím Tab để chuyển đến control kế tiếp trên Form, nhấn tổ hợp Alt + mũi tên xuống để xổ danh sách trong ListBox, ComboBox.

Bạn ơi, hình như Code có vấn đề rồi. mình muốn tìm kiếm những từ liên quan không phân biệt chử Hoa chử thường và phải loại bỏ dấu. Ví dụ mình gõ từ " banh" thì " Bánh kem" cũng phải lọc ra
 
Upvote 0

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

Back
Top Bottom