Gán dữ liệu vào listbox từ file.xla

Liên hệ QC

nguyet1507

Thành viên mới
Tham gia
9/2/09
Bài viết
4
Được thích
0
Tôi có 1 file.xla có chứa dữ liệu trong 1 sheet và 1 Form dùng để truy xuất dữ liệu đó.
Khi load form tôi muốn load dữ liệu đó vào 1 listbox nhưng không biết phải load thế nào.
Sử dụng thuộc tính Lst1.RowSource thì chỉ lấy được vùng dữ liệu trên File đang thực thi còn trong file.xla thì chẳng biết phải làm sao. Nếu dùng For Next để đọc giá trị từng cell và load lên thì lâu lắm vì dữ liệu khá lớn.
Ví dụ: ListBox1.RowSource = "a1:e4" thì sẽ load được dữ liệu trên Sheet hiện hiện hành đang thực hiện.
Rất mong các bạn chỉ giúp.
Xin chân thành cảm ơn.
 
Mới đầu tưởng đơn giản không ngờ cũng khoai phết.
Loay hoay mãi mới tìm được 1 cách tuy hơi nông dân nhưng cũng giải quyết được vấn đề.
PHP:
Dim wb As Workbook
    Set wb = ActiveWorkbook
    ThisWorkbook.Activate
    ListBox1.RowSource = "Sheet1!A1:Sheet1!B65536"
    wb.Activate
Các bạn xem có cao kiến gì hơn không nhé vì làm kiểu này nó vẫn hơi bị giật một tẹo.
 
Upvote 0
Mới đầu tưởng đơn giản không ngờ cũng khoai phết.
Loay hoay mãi mới tìm được 1 cách tuy hơi nông dân nhưng cũng giải quyết được vấn đề.
PHP:
Dim wb As Workbook
    Set wb = ActiveWorkbook
    ThisWorkbook.Activate
    ListBox1.RowSource = "Sheet1!A1:Sheet1!B65536"
    wb.Activate
Các bạn xem có cao kiến gì hơn không nhé vì làm kiểu này nó vẫn hơi bị giật một tẹo.

Set wb = ActiveWorkbook là gán wb cho workbook đang active trên màn hình. Đâu có liên quan gì đến file *.xla

Nếu là file *.xla làm sao ThisWorkbook.Activate được ?

Còn màn hình giật thì viết:
Application.ScreenUpdating = False
sau khi hoàn thành công việc thì:
Application.ScreenUpdating =True
 
Upvote 0
Ôi không, code trên viết trong file.xla mà
Set wb = ActiveWorkbook' Lưu lại file đang thực hiện
ThisWorkbook
.
Activate' Chuyển trạng thái Activate sang file .xla, vì code viết trong file.xla và nên mới dùng ThisWorkbook.Activate được, tôi test thử rồi thấy OK mà
ListBox1
.RowSource =
"Sheet1!A1:Sheet1!B65536"' Gán giá trị trong File.xla cho listbox
wb.
Activate'Quay trở lại file đang làm việc, hiện tượng bị giật là do ta thay đổi trạng thái Activate, tôi chưa biết làm thế nào nếu như không phải thay đổi trạng thái này mà vẫn lấy được dữ liệu.
Xin gửi file tôi vừa làm để các bạn kiểm chứng.

Làm được cái này rồi tôi lại thấy có 1 vấn đề, làm sao có thể dùng Mouse Wheel cho Listbox, không biết đã có bài nào viết về cái này chưa, chắc lại phải Hook rồi.
 

File đính kèm

Upvote 0
cảm ơn cac bạn nhiêu.
Không ngờ chỉ với vài dòng đơn giản đã giải quyế được vấn đề, tuy hơi giật 1 tẹo nhưng không thành vấn đê.
Xin cảm ơn.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom