Hỏi về ListBox

Liên hệ QC

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,121
Được thích
24,279
Tôi tạo 1 ListBox trong UserForm, để lấy nguồn dữ liệu vào ListBox đó thì tôi sử dụng thuộc tính .RowSource (ví dụ .RowSource = "Sheet3!A18:C33") thì không vấn đề gì.

Tuy nhiên tôi muốn sử dụng .RowSource là 1 vùng tùy biến. Ví dụ:

Set Vung = Sheets("Sheet3").range("A18:C33")
.RowSource = Vung

thì máy toàn báo lỗi.

Không hiểu nguyên nhân nào vậy? Cách khắc phục? Nhờ mọi người chỉ giúp.

Không biết có phải VBA coi Vung là Object nên không nhận phải không?
 
PhanTuHuong đã viết:
Tôi tạo 1 ListBox trong UserForm, để lấy nguồn dữ liệu vào ListBox đó thì tôi sử dụng thuộc tính .RowSource (ví dụ .RowSource = "Sheet3!A18:C33"<= quan trọng là cặp dấu ngoặc kép "") thì không vấn đề gì.

Anh đã tự trả lời cầu hỏi của mình rồi còn gì:
PhanTuHuong đã viết:
Không biết có phải VBA coi Vung là Object nên không nhận phải không?

Debug.Print TypeName(ListBox.RowSource)= String
Debug.Print TypeName(Vung)= Range
Gán giá trị một đối tượng thì giá trị phải cùng kiểu với đối tượng đó.

Để gán giá trị cho thuộc tính này anh bổ sung thêm thuộc tính Address trong đối tượng Vung:
.RowSource = "Sheet3!" & Vung.Address
 
Upvote 0
Kiểu này hạn chế nhỉ! Có những trường hợp ta phải tra ngược và sửa chữa dữ liệu gốc ở nhiều vùng khác nhau.
 
Upvote 0
PhanTuHuong đã viết:
Kiểu này hạn chế nhỉ! Có những trường hợp ta phải tra ngược và sửa chữa dữ liệu gốc ở nhiều vùng khác nhau.
Vậy thì em phải tự viết thôi.
Nói vậy chứ, em có thể tham khảo module về ListBox ở đây.

Lê Văn Duyệt
 

File đính kèm

  • ListBoxMod.txt
    29.2 KB · Đọc: 192
Upvote 0
Xóa dòng trong ListBox.

Tiện đang trong chủ đề này cho em hỏi với
Em có
1 Texbox tên là TB
1 ListBox tên là LB - dùng de chua danh muc "DMDVKH"
1 Command tên là Xoa
Em muốn khi mình ấn nút Xoa thì dòng dữ liệu tương ứng trong ListBox
và trong danh muc "DMDVKH" gốc dữ liệu đó cũng bị xoá luôn
 

File đính kèm

  • File ListBox.xls
    47 KB · Đọc: 93
Upvote 0
NHG đã viết:
Tiện đang trong chủ đề này cho em hỏi với
Em có
1 Texbox tên là TB
1 ListBox tên là LB - dùng de chua danh muc "DMDVKH"
1 Command tên là Xoa
Em muốn khi mình ấn nút Xoa thì dòng dữ liệu tương ứng trong ListBox
và trong danh muc "DMDVKH" gốc dữ liệu đó cũng bị xoá luôn

Bạn thử tải file tôi đã sửa xem sao, chỉ thêm vài code. Bạn có thể linh hoạt khi tạo vùng như anh Cường, bác Duyệt đã hướng dẫn.
 

File đính kèm

  • File_ListBox.rar
    23.4 KB · Đọc: 231
Upvote 0
Cảm ơn anh Hướng, lúc đầu em cứ tưởng anh là con gái vì cái nick của anh--=0 ,à quyển sách của anh hay lắm, đọc rất dễ hiểu, rất cần cho những người mới học lập trình như em
 
Upvote 0
Web KT
Back
Top Bottom