Dua du lieu vao ColumnHeads cua Listbox trong Excel

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi lhnam, 3 Tháng sáu 2005.

6,608 lượt xem

  1. lhnam

    lhnam Thành viên sơ cấp

    Bài viết:
    1
    Đã được thích:
    0
    Nơi ở:
    Ho Chi Minh
    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
     
    #1
  2. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    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
     

    Các file đính kèm:

    #2

Chia sẻ trang này