Hòi về cách Cố định thanh trượt của ListBox

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Tuhai2606

Thành viên mới
Tham gia
13/2/23
Bài viết
29
Được thích
2
Chào mọi người. mình có 1 Userform nhập liệu và mình có sử dụng ListBox để hiển thị những dữ liệu được nhập. nhưng ListBox lại có định thanh trượt ở trên cùng trong khi dữ liệu lại đi xuống. Mỗi lần nhập dữ liệu xong phải kéo thanh trượt xuống mới xem được. mọi người có cách nào cố định thanh trượt lúc nào củng ở dưới cùng không ạ. cảm ơn mọi người

ss.PNG
 
listbox có 1 thuộc tính có thể làm cái này, chỉ cần gán cho nó số rất lớn là được, mà mình không nhớ tên, là toplist, hay cái gì list ý , bạn kiểm tra lại xem.
 
Chào mọi người. mình có 1 Userform nhập liệu và mình có sử dụng ListBox để hiển thị những dữ liệu được nhập. nhưng ListBox lại có định thanh trượt ở trên cùng trong khi dữ liệu lại đi xuống. Mỗi lần nhập dữ liệu xong phải kéo thanh trượt xuống mới xem được. mọi người có cách nào cố định thanh trượt lúc nào củng ở dưới cùng không ạ. cảm ơn mọi người

View attachment 293375

Bạn sắp xếp (Sort) dữ liệu ngược lại, ngày, số thứ tự... mới nhất nằm trên cùng.:)
 
Chào mọi người. mình có 1 Userform nhập liệu và mình có sử dụng ListBox để hiển thị những dữ liệu được nhập. nhưng ListBox lại có định thanh trượt ở trên cùng trong khi dữ liệu lại đi xuống. Mỗi lần nhập dữ liệu xong phải kéo thanh trượt xuống mới xem được. mọi người có cách nào cố định thanh trượt lúc nào củng ở dưới cùng không ạ. cảm ơn mọi người

View attachment 293375
Sao bạn không đưa file lên để nghiên cứu nhỉ, biết đâu lại có cách nào đó mà nghĩ vo không được.
 
Mình chưa thấy file nên xin hỏi chủ bài đăng: Bạn nạp dữ liệu cho ListBox đó khi nào?
 
Chào mọi người. do tính chất công việc nên mình không đăng được file chính mà mình muốn làm. có file này mọi người giúp được thì mình copy theo củng được ạ. mong mọi người thông cảm
 

File đính kèm

Mình chưa thấy file nên xin hỏi chủ bài đăng: Bạn nạp dữ liệu cho ListBox đó khi nào?mình tạo Offset bảng Table rồi Listbox lấy thông tin từ trong bảng thôi ạCapture.PNG
Mình gán Offset vào bảng Table rồi listbox lấy dữ liệu từ Table vào thôi ạ
Bài đã được tự động gộp:

Bạn sắp xếp (Sort) dữ liệu ngược lại, ngày, số thứ tự... mới nhất nằm trên cùng.:)
nhưng như vậy thì dữ liệu mới nhập vào củng nằm ở dưới cùng nè bạn
Bài đã được tự động gộp:

listbox có 1 thuộc tính có thể làm cái này, chỉ cần gán cho nó số rất lớn là được, mà mình không nhớ tên, là toplist, hay cái gì list ý , bạn kiểm tra lại xem.
cảm ơn bạn. mình tìm thử xem sao
 
Chào mọi người. do tính chất công việc nên mình không đăng được file chính mà mình muốn làm. có file này mọi người giúp được thì mình copy theo củng được ạ. mong mọi người thông cảm
Bạn khóa code VBA nên không chỉnh được, bạn xem điều chỉnh chỗ này: .Topindex sẽ được thể hiện dòng cuối lên sát trên cùng của bảng sau khi nhấn nút xác nhận.
 
nhưng như vậy thì dữ liệu mới nhập vào củng nằm ở dưới cùng nè bạn
:) Userform (UF) bạn thiết kế có nhiều vấn đề quá. Việc Sort dữ liệu tôi gợi ý ở trên, phần lớn các Form nhập liệu dùng cách này, còn việc UF của bạn không hiển thị được là do cách thiết kế Listbox của bạn thôi.
Các vấn đề:
- Nhập liệu nhân viên tới 6 dòng với code giống nhau, lặp lại. Thông thường nhập liệu cho từng nhân viên một - bấm lưu - nhập tiếp cho nhân viên kế tiếp --> chỉ cần 1 bộ textbox của "Nhân viên 1" là đủ rồi, code cũng gọn gàng hơn. Còn UF bạn thiết kế 6 dòng cho 6 nhân viên, vậy tại sao không phải là 4, 5,8,10... dòng? Cách nhập liệu cùng một lúc nhiều dòng chỉ dùng khi có hỗ trợ dạng Continuous Form (Excel UF không có), nhập nhiều dòng xong bấm Lưu một lần, không cần mỗi dòng mỗi nút bấm Lưu (Xoá).
- Listbox: Source của Listbox trong UF của bạn là nguyên cả Table [Data], qua các năm, dữ liệu ngày càng phình ra (vd: 100k dòng) --> mỗi khi cái UF này mở lên, nó phải tải toàn bộ dữ liệu lên --> ì ạch không đáng có --> thanh cuộn phải kéo dài lê thê... ==> chỉ cần tải dữ liệu trong tháng là đủ xem rồi. Một khi dùng cách chỉ tải dữ liệu có chọn lọc (filter) cho Listbox thì bạn dư sức Sort dữ liệu để dòng vừa nhập nằm trên cùng (Sort giảm dần).
- Một lưu ý khác là kích thước UF: có thể máy tính bạn có độ phân giải cao nhưng không phải các máy khác điều có độ phân giải cao như vậy nên khi mở UF, nó sẽ tràn hết màn hình, bị che mất một phần của Form--> không thao tác được. Khi thiết kế tôi thường thiết kế ở độ phân giải tương đối Full HD (1920 x 1080) để có thể hiển thị đầy đủ ở phần lớn các màn hình LCD.
Đôi điều góp ý về các thiết kế UF cho nó hiệu quả, hợp lý.
 
Lần chỉnh sửa cuối:
:) Userform (UF) bạn thiết kế có nhiều vấn đề quá. Việc Sort dữ liệu tôi gợi ý ở trên, phần lớn các Form nhập liệu dùng cách này, còn việc UF của bạn không hiển thị được là do cách thiết kế Listbox của bạn thôi.
Các vấn đề:
- Nhập liệu nhân viên tới 6 dòng với code giống nhau, lặp lại. Thông thường nhập liệu cho từng nhân viên một - bấm lưu - nhập tiếp cho nhân viên kế tiếp --> chỉ cần 1 bộ textbox của "Nhân viên 1" là đủ rồi, code cũng gọn gàng hơn. Còn UF bạn thiết kế 6 dòng cho 6 nhân viên, vậy tại sao không phải là 4, 5,8,10... dòng? Cách nhập liệu cùng một lúc nhiều dòng chỉ dùng khi có hỗ trợ dạng Continuous Form (Excel UF không có), nhập nhiều dòng xong bấm Lưu một lần, không cần mỗi dòng mỗi nút bấm Lưu (Xoá).
- Listbox: Source của Listbox trong UF của bạn là nguyên cả Table [Data], qua các năm, dữ liệu ngày càng phình ra (vd: 100k dòng) --> mỗi khi cái UF này mở lên, nó phải tải toàn bộ dữ liệu lên --> ì ạch không đáng có --> thanh cuộn phải kéo dài lê thê... ==> chỉ cần tải dữ liệu trong tháng là đủ xem rồi. Một khi dùng cách chỉ tải dữ liệu có chọn lọc (filter) cho Listbox thì bạn dư sức Sort dữ liệu để dòng vừa nhập nằm trên cùng (Sort giảm dần).
Đôi điều góp ý về các thiết kế UF cho nó hiệu quả, hợp lý.
hi anh. tại vì nhân viên em ngồi 4 - 6 người 1 bàn và sẽ sử dụng chung 1 máy tính và có hơn 30 máy tính như vậy cho mỗi bộ phận. mọi người tự nhập thông tin của mình và em dùng power query để thu thập thông tin vào file tổng, đa số nhân viên là người không am hiểu về máy tính nên em chỉ muốn làm sao cho họ dễ hiểu nhất thôi ạ. còn em củng tập tành VBA lượm nhặt các code thôi nên anh thông cảm.
 

File đính kèm

  • asd.PNG
    asd.PNG
    400.9 KB · Đọc: 15
hi anh. tại vì nhân viên em ngồi 4 - 6 người 1 bàn và sẽ sử dụng chung 1 máy tính và có hơn 30 máy tính như vậy cho mỗi bộ phận. mọi người tự nhập thông tin của mình và em dùng power query để thu thập thông tin vào file tổng, đa số nhân viên là người không am hiểu về máy tính nên em chỉ muốn làm sao cho họ dễ hiểu nhất thôi ạ. còn em củng tập tành VBA lượm nhặt các code thôi nên anh thông cảm.
Bạn cứ làm theo cách của bạn, trải nghiệm rồi từ từ nghiệm ra các logic xử lý phù hợp với tổ chức của bạn, rồi sửa từ từ thôi.
Nếu sử dụng trong mạng LAN và nhiều người dùng chung thì Ms Access là phù hợp hơn và xây dựng ứng dụng cũng dễ và nhanh. (Ứng dụng nhỏ này nếu viết trên Access chừng 30 phút)
Cách khác là dùng Access làm cơ sở dữ liệu back end, Excel UF làm giao diện nhập liệu (Front end), có thể copy cho bao nhiều người dùng cũng được.
Thường thì nên chọn giải pháp, công cụ (dùng CSDL gì, ngôn ngữ, ứng dụng gì...) cho phù hợp với định hướng thiết kế của mình trước đã rồi mới code. :)
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom