Hỏi cách tạo combo box thông minh

Liên hệ QC

titanic

Thành viên hoạt động
Tham gia
25/5/10
Bài viết
161
Được thích
11
chào các anh/chị
em có thử tạo 1 combo box nhưng không đúng ý em lắm cho em hỏi trong excel mình có combox tự tìm ra các từ gần giống với yêu ký tự mình đánh vào dòng combox không . như mình đánh chữ "g" đi ( nó sẽ hiện ra 1 bảng từ 4 tới 5 lựa chon có chữ cái bắt đầu từ chữ "g" )
em có gửi ảnh minh họa . mọng các anh chỉ giúp cảm ơn nhiều -\\/.
 

File đính kèm

  • combox.png
    combox.png
    2.9 KB · Đọc: 2,125
chào các anh/chị
em có thử tạo 1 combo box nhưng không đúng ý em lắm cho em hỏi trong excel mình có combox tự tìm ra các từ gần giống với yêu ký tự mình đánh vào dòng combox không . như mình đánh chữ "g" đi ( nó sẽ hiện ra 1 bảng từ 4 tới 5 lựa chon có chữ cái bắt đầu từ chữ "g" )
em có gửi ảnh minh họa . mọng các anh chỉ giúp cảm ơn nhiều -\\/.

Thật ra cũng chỉ là bài toán LỌC CÓ ĐIỀU KIỆN thôi
Nếu là tôi thì tôi không dùng ComboBox mà kết hợp giữa TextBox với ListBox: Gõ từ khóa vào TextBox, ListBox sẽ hiện những phần tử gần đúng
Dạng này cũng đã post nhiều trên diễn đàn rồi
 
em gửi file mô tả chi tiết anh chỉ dùm em với hoặc chỉ cho em cách tìm bài tương tự em cám ơn
 

File đính kèm

  • xin huong dan chi cach tạo listbox.xlsx
    12.1 KB · Đọc: 481
Lần chỉnh sửa cuối:

File đính kèm

  • Copy of xin huong dan chi cach tạo listbox.rar
    23.1 KB · Đọc: 2,588
Lần chỉnh sửa cuối:
cảm ơn anh cái file anh gửi thật là hơn cả tuyệt vời , nhưng làm phiền anh hướng dẫn chi tiết giúp em với . tại e trước giờ chưa dùng lập trình lần nào . em xin hậu tạ
 
Mình nhờ các bạn làm giúp text box hay listbox ... để khi mình click vào ô gỏ vài ký tự ví dụ gỏ ng nó sổ ra danh sách có chử ng cho mình chọn lựa,sau khi chọn xong click vào danh sách đó nó sẻ gán tên đó vào ô luôn. Mình có gởi file để các bạn xem giúp.
 

File đính kèm

  • LENH GIAO HANG.xls
    31 KB · Đọc: 445
Lần chỉnh sửa cuối:
Mình nhờ các bạn làm giúp text box hay listbox ... để khi mình click vào ô gỏ vài ký tự ví dụ gỏ ng nó sổ ra danh sách có chử ng cho mình chọn lựa,sau khi chọn xong click vào danh sách đó nó sẻ gán tên đó vào ô luôn. Mình có gởi file để các bạn xem giúp.

Bài này có thể giúp bạn
http://www.giaiphapexcel.com/forum/...ng-Validation-trong-tối-ưu-hóa-việc-nhập-liệu
 
Cám ơn bạn LienDong nhe, link bạn giới thiệu không phải là điều mình cần, cái mình cần có nêu rỏ trong file đính kèm nghĩa là mình muốn có được chức năng nhập liệu giống file Copy of xin huong dan chi cach tạo listbox.rar của bạn quanghai1969 , nhưng file của bạn quanghai1969 có nhược điểm là chỉ sổ ra list những từ có ký tự được gỏ vào sort ở từ đầu tiên thôi ví dụ khi gỏ chử t thì chỉ có xuất ra những từ có chử t đầu là

thanh phương
tuấn anh ag
tuấn anh mp
tuấn anh me

mà lại không xuất luôn tên người khác cũng có chử t ở những từ kế tiếp đó là :

nhật thiện
hoàng thiện
 
Cám ơn bạn LienDong nhe, link bạn giới thiệu không phải là điều mình cần, cái mình cần có nêu rỏ trong file đính kèm nghĩa là mình muốn có được chức năng nhập liệu giống file Copy of xin huong dan chi cach tạo listbox.rar của bạn quanghai1969 , nhưng file của bạn quanghai1969 có nhược điểm là chỉ sổ ra list những từ có ký tự được gỏ vào sort ở từ đầu tiên thôi ví dụ khi gỏ chử t thì chỉ có xuất ra những từ có chử t đầu là

thanh phương
tuấn anh ag
tuấn anh mp
tuấn anh me

mà lại không xuất luôn tên người khác cũng có chử t ở những từ kế tiếp đó là :

nhật thiện
hoàng thiện
Bạn mở Module2 trong file ra, thay đoạn code này vào là được như ý rồi
PHP:
Sub loc()
Dim kq(1 To 10000, 1 To 1), dl(), i, j
With Sheet2
   dl = .Range(.[a2], .[a65536].End(3)).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
 
Bạn mở Module2 trong file ra, thay đoạn code này vào là được như ý rồi
PHP:
Sub loc()
Dim kq(1 To 10000, 1 To 1), dl(), i, j
With Sheet2
   dl = .Range(.[a2], .[a65536].End(3)).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


Cho em hỏi ví dụ ta có thêm cột B "địa chỉ", Cột C " điện thọai" ở Sheet Khách hàng thì làm sao có thể khi chọn tên xong thì địa chỉ và điện thọai cùng hiện kg? (cho thuận tiện khỏi dùng hàm Vlookup)
Em cảm ơn!
 
Cho em hỏi ví dụ ta có thêm cột B "địa chỉ", Cột C " điện thọai" ở Sheet Khách hàng thì làm sao có thể khi chọn tên xong thì địa chỉ và điện thọai cùng hiện kg? (cho thuận tiện khỏi dùng hàm Vlookup)
Em cảm ơn!
Bên trong file có Sub này. Thêm dòng màu đỏ vào thay thế cho hàm Vlookup
Mã:
Private Sub ListBox1_Click()
ActiveCell.Value = Sheet1.ListBox1.Value
[COLOR=#ff0000]ActiveCell.Offset(, 1) = Sheet2.[A:A].Find(ActiveCell).Offset(, 1)[/COLOR]
ActiveCell.Activate
Hide
End Sub
Hoăc là tạo Listbox có 2 cột
Nếu có nhiều cột thì dùng vòng lặp để lấy dữ liệu từ listbox ra
Mã:
Private Sub ListBox1_Click()
ActiveCell = Sheet1.ListBox1.Column(0)
ActiveCell.Offset(, 1) = Sheet1.ListBox1.Column(1)
ActiveCell.Activate
Hide
End Sub
 
Lần chỉnh sửa cuối:
Bạn mở Module2 trong file ra, thay đoạn code này vào là được như ý rồi
PHP:
Sub loc()
Dim kq(1 To 10000, 1 To 1), dl(), i, j
With Sheet2
   dl = .Range(.[a2], .[a65536].End(3)).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

Cám ơn bạn quanghai1969 nhé, bạn ơi mình muốn khi gõ từ không dấu nó vẫn xổ ra luôn những từ có dấu thì phải làm sao ?, ví dụ gỏ e thì nó xổ xuống cả từ có chữ e và cã các từ có chử ê , é , ẻ , ề .... cụ thể (trong file Copy of xin huong dan chi cach tạo listbox )gõ e thì ta được

lê lai
điền phong
tuấn anh me
nhật thiện
hoàng thiện
 
Lần chỉnh sửa cuối:
Cám ơn bạn quanghai1969 nhé, bạn ơi mình muốn khi gõ từ không dấu nó vẫn xổ ra luôn những từ có dấu thì phải làm sao ?, ví dụ gỏ e thì nó xổ xuống cả từ có chữ e và cã các từ có chử ê , é , ẻ , ề .... cụ thể (trong file Copy of xin huong dan chi cach tạo listbox )gõ e thì ta được

lê lai
điền phong
tuấn anh me
nhật thiện
hoàng thiện
Muốn thì có thôi mà. Xem file coi đúng chưa.
 

File đính kèm

  • Copy of xin huong dan chi cach tạo listbox.rar
    26.8 KB · Đọc: 790
Muốn thì có thôi mà. Xem file coi đúng chưa.

Cám ơn bạn quanghai1969 nhiều, bạn xem giúp mình copy mấy cái code của file: Copy of xin huong dan chi cach tạo listbox vào file của mình nhưng chỉ có cột khách hàng chạy được còn cột Địa điểm giao hàng không được là sao vậy bạn ?
 

File đính kèm

  • LENH GIAO HANG.rar
    20.2 KB · Đọc: 102
Cám ơn bạn quanghai1969 nhiều, bạn xem giúp mình copy mấy cái code của file: Copy of xin huong dan chi cach tạo listbox vào file của mình nhưng chỉ có cột khách hàng chạy được còn cột Địa điểm giao hàng không được là sao vậy bạn ?

Mấy vụ này mình kém lắm. Thử thế này xem sao
 

File đính kèm

  • LENH GIAO HANG.rar
    21.4 KB · Đọc: 565
Hay quá bạn ơi đúng ý mình rồi, bạn giỏi quá, mình không hiểu tí gì về VBA code bạn làm, mình có thể học hỏi ở web nào hả bạn? cám ơn bạn rất nhiều.
Bạn học trên GPE đã là quá quá đủ rồi
Bạn học hết được các chiêu thức VBA trên GPE chắc còn dài dài nữa
Bạn tự search đi
 
Web KT
Back
Top Bottom