- Tham gia
- 4/6/06
- Bài viết
- 901
- Được thích
- 2,717
Tạo danh sách tìm kiếm thông minh ngay trong ô
Nếu một ngày bạn chán Data Validation vì những bất tiện của nó như là:
- Đến từng ô và click chuột vào mũi tên thì danh sách mới hiện ra.
- Danh sách càng dài thì càng khó lựa chọn vì sẽ phải kéo thanh trượt xuống để tìm.
Và bạn ước có một giải pháp nào đó khác hơn, chẳng hạn như:
- Khi đến từng ô, một bảng chọn dữ liệu sẽ tự hiện ra.
- Bảng dữ liệu này có thể như google, nghĩa là đánh vài ký tự và danh sách sẽ tự rút gọn để dễ chọn lựa.
Vậy bài viết này là dành cho bạn (cám ơn dòng code của anh quanghai1969).
Đầu tiên, bạn có thể tải file đính kèm của GPE ở dưới bài viết này. Và khi bạn mở lên, bạn sẽ thấy giao diện như sau:
Nếu bạn chọn vào cột C, một danh sách thông minh cùng vùng nhập dữ liệu sẽ tự hiện ra, và bạn có thể gõ vài ký tự để tìm kiếm thông minh. Đặc biệt hơn, những code trong file này đã được chỉnh sửa để có khả năng tương tác bằng bàn phím cho tiện dụng hơn với người dùng:
- Bạn có thể dùng các phím mũi tên sang phải, lên xuống để chọn kết quả.
- Sau khi chọn, nhấn Enter để nhập liệu.
- Khi không muốn chọn, nhấn Esc để thoát ra hoặc dùng chuột nhấn qua một ô khác hay bấm tiếp các phím mũi tên, danh sách dữ liệu sẽ tự động tắt để bạn có thể tương tác trực tiếp với ô.
Ngoài ra, để thêm bớt các hạng mục trong danh sách, bạn có thể qua sheet DM.khach.hang để chỉnh sửa tương ứng. Danh sách dữ liệu của bạn chính là cột A trong sheet này.
Vậy làm cách nào để tùy biến, chỉnh sửa cho danh sách xuất hiện ở một chỗ khác? Để làm được điều này, bạn cần một chút căn bản về VBA, cụ thể bạn nhìn đoạn code sau
Đoạn code này cho thấy từ hàng thứ 9 cho đến hàng thứ 17 và trong cột số 3 tương ứng cột C thì sẽ kích hoạt thủ tục thaydoi, hay là bảng chọn sẽ hiện ra. Do đó, bạn có thể thay đổi những giá trị này cho phù hợp với bảng chọn của bạn.
Ngoài ra, nếu muốn bạn có thể tiếp tục thảo luận đề tài này thông qua topic này.
Chúc bạn thành công.
Nếu một ngày bạn chán Data Validation vì những bất tiện của nó như là:
- Đến từng ô và click chuột vào mũi tên thì danh sách mới hiện ra.
- Danh sách càng dài thì càng khó lựa chọn vì sẽ phải kéo thanh trượt xuống để tìm.
Và bạn ước có một giải pháp nào đó khác hơn, chẳng hạn như:
- Khi đến từng ô, một bảng chọn dữ liệu sẽ tự hiện ra.
- Bảng dữ liệu này có thể như google, nghĩa là đánh vài ký tự và danh sách sẽ tự rút gọn để dễ chọn lựa.
Vậy bài viết này là dành cho bạn (cám ơn dòng code của anh quanghai1969).
Đầu tiên, bạn có thể tải file đính kèm của GPE ở dưới bài viết này. Và khi bạn mở lên, bạn sẽ thấy giao diện như sau:
Nếu bạn chọn vào cột C, một danh sách thông minh cùng vùng nhập dữ liệu sẽ tự hiện ra, và bạn có thể gõ vài ký tự để tìm kiếm thông minh. Đặc biệt hơn, những code trong file này đã được chỉnh sửa để có khả năng tương tác bằng bàn phím cho tiện dụng hơn với người dùng:
- Bạn có thể dùng các phím mũi tên sang phải, lên xuống để chọn kết quả.
- Sau khi chọn, nhấn Enter để nhập liệu.
- Khi không muốn chọn, nhấn Esc để thoát ra hoặc dùng chuột nhấn qua một ô khác hay bấm tiếp các phím mũi tên, danh sách dữ liệu sẽ tự động tắt để bạn có thể tương tác trực tiếp với ô.
Ngoài ra, để thêm bớt các hạng mục trong danh sách, bạn có thể qua sheet DM.khach.hang để chỉnh sửa tương ứng. Danh sách dữ liệu của bạn chính là cột A trong sheet này.
Vậy làm cách nào để tùy biến, chỉnh sửa cho danh sách xuất hiện ở một chỗ khác? Để làm được điều này, bạn cần một chút căn bản về VBA, cụ thể bạn nhìn đoạn code sau
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row > 8 And Target.Row < [B]18[/B] Then
If Target.Column = 3 Then
thaydoi
Else
Hide
End If
Else
Hide
End If
End Sub
Đoạn code này cho thấy từ hàng thứ 9 cho đến hàng thứ 17 và trong cột số 3 tương ứng cột C thì sẽ kích hoạt thủ tục thaydoi, hay là bảng chọn sẽ hiện ra. Do đó, bạn có thể thay đổi những giá trị này cho phù hợp với bảng chọn của bạn.
Ngoài ra, nếu muốn bạn có thể tiếp tục thảo luận đề tài này thông qua topic này.
Chúc bạn thành công.
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote
0