lhnam nói:
Chao cac ban,
Minh tao 01 listbox trong Excel va da tao 01 macro de lay du lieu tu Access. Moi thu deu OK nhung minh cho columnheads=true va khong biet lam sao de dua du lieu vao columnhead hay tao ten cho columnheads.
Mong cac ban giup do.
Cam on nhieu
Nam
To: lhnam (Lê Hòai Nam?)
Để làm việc với ListBox control trong Excel bạn chú ý vài điểm sau:
_Các phần tử trong ListBox có thể được lấy từ một khỏang (range) gồm các ô trong Excel (Dùng thuộc tính RowSource), hay nó có thể được thêm vào bằng cách sử dụng VBA (sử dụng phương thức AddItem).
_ListBox có thể được thiết lập nhầm cho phép người dùng chọn một hay nhiều phần tử bằng cách thiết lập thuộc tính MultiSelect.
_Bạn có thể thể hiện một ListBox không có phần tử nào được chọn (đặt thuộc tính ListIndex = -1).
_Một ListBox có thể có nhiều cột (thuộc tính ColumnCount), và ngay cả mô tả phần header của cột (thuộc tính ColumnHeads).
_Độ rộng của ListBox khi thể hiện nó sẽ luôn luôn bằng với độ rộng khi thiết kế.
_Các phần tử trong ListBox có thể được thể hiện giống như một check boxes nếu cho phép chọn nhiều phần tử hay như một nút option nếu chỉ cho phép chọn một phần tử trong ListBox. Điều này được điều khiển bằng thuộc tính ListStyle.
Giả sử trên một form tôi có ListBox1, khối dữ liệu của tôi tên là "Ma_Hang" gồm 4 hàng và 3 cột (Chú ý là khi bạn đặt tên không bao gồm hàng tiêu đề). Vậy để thể hiện hàng tiêu đề thì tôi viết thủ tục như sau:
Private Sub UserForm_Initialize()
Me.ListBox1.RowSource = "Ma_Hang"
Me.ListBox1.ColumnHeads = True
Me.ListBox1.ColumnCount = Range("Ma_Hang").Rows.Count
Me.ListBox1.ColumnWidths = "100;150;20"
End Sub
Còn việc bạn đã lấy dữ liệu được từ Access vào Excel rồi, thì bạn có thể nghiên cứu đọan code trên và viết lại.
Xin bạn xem ví dụ.
Chúc bạn thành công.
(Mới vừa viết xong lúc 12h:36'...tối...hu hu hu)
Lê Văn Duyệt