2012-10-02 33 views
7

Hey tôi cảm thấy như thế này nên có một giải pháp đơn giản, nhưng tôi vẫn chưa có thể vấp ngã trên nó được nêu ra.VBA Lựa chọn rõ ràng của một Combobox

Tôi có hộp tổ hợp. Combobox có các giá trị khi được chọn, dẫn đến các câu hỏi khác. Tôi có một nút mà tôi muốn trở thành nút "Lên một cấp" khi nhấn xóa tất cả các câu hỏi sau và đặt lại hiển thị hộp tổ hợp thành không có gì, như khi nó được tạo trước khi bất kỳ tùy chọn nào được chọn. Tôi muốn các giá trị trong combobox vẫn có mặt để người dùng vẫn có thể thực hiện lựa chọn.

Tôi dường như không thể tìm ra điều này. Tôi đã thử thiết lập Value = 0, ListIndex = -1, cả hai đều không có kết quả. Tôi không muốn sử dụng "Clear" vì tôi muốn giữ lại các giá trị trong combobox. Nếu xem qua các thuộc tính của combobox một vài lần và tôi không thể chọn cái nào sẽ giúp tôi làm những gì tôi muốn ở đây.

Trợ giúp của bạn trong việc tìm hiểu điều này sẽ được đánh giá cao.

+0

... vì vậy bạn muốn có một hộp kết hợp, có giá trị, không thực sự ở đó? Trường hợp sử dụng của bạn là gì? – enderland

+3

Bạn có chắc chắn 'combobox1.ListIndex = -1' không hoạt động? Combobox ở đâu? Bạn đã thêm dữ liệu vào đó bằng cách nào? –

+0

Cũng có khả năng là trong sự kiện Thay đổi/Bấm của combo, bạn đang đặt lại giá trị? –

Trả lời

6
Listbox.Value=null 

nên thực hiện thủ thuật.

+1

Err, tôi tin bạn có nghĩa là ComboBox? –

+2

Điều này làm việc (cùng với 'combobox.ListIndex = -1') cùng với một số mã định vị lại tôi phải làm. Cảm ơn! – Paul

+0

@Siddharth Rout: right – Johanness

1

Nếu bạn sử dụng: ComboBox1.ListIndex = -1 không có mục danh sách thì sẽ không có hiệu lực. Đây là vấn đề nếu bạn đang tải động các mục. Sử dụng: ComboBox1.Value = Null để xóa giá trị như đã đề cập ở trên.

Các vấn đề liên quan