Liệt Kê Kết Quả Thực Hiện Bằng ListBox

Liên hệ QC

tranvanold

Thành viên mới
Tham gia
5/10/08
Bài viết
41
Được thích
8
Nghề nghiệp
Kỹ thuật nhiệt
Xin các A/C chỉ cách liệt kê các kết quả đã thực hiện và chưa thực hiện bằng cách nào hây rõ ràng dễ hiệu, tường minh trong VBA
Vấn đề của em là có khoản 100 chỉ tiêu được nhập trên Excell như sau:
VD: tên chỉ tiêu 1 chứa trong cell A1 và kết quả của chỉ tiêu đó chứa trong A2
tên chỉ tiêu 2 chứa trong cell A3 và kết quả của chỉ tiêu đó chứa trong A4......
tên chỉ tiêu n chứa trong cell Ai và kết quả của chỉ tiêu đó chứa trong Aj
(Các tên chỉ tiêu và kết quả được thể hiện là những con số thực)
Em muốn biết trong quá trình thực hiện có những chỉ tiêu nào đã thực hiện rồi những chỉ tiêu nào còn lại chưa thực hiện, nên em dùng LitsBox1 để liệt kê các chỉ tiêu sẽ thực hiện và ListBox2 để liệt kê các chỉ tiêu đã thực hiện xong
Nhưng khổ nổi trình độ VBA quá kém nên rất rối khi thực hiện. Rất mong nhận được sự giúp đỡ của các A/C
Xin trân trọng cảm ơn!
 
Đọc qua đã thấy bạn bố trí dữ liễu không hợp lý, cả tên mục và kết quả thực hiện đều nằm trên 1 cột thì truy xuất thế nào, bạn nên để mỗi thứ trên 1 cột rồi dùng các lệnh cơ bản của Excel cũng tìm ra được mục trống, chưa cần phải dùng đến VBA đâu.
 
Upvote 0
Cảm ơn Các A/C đã góp ý vấn đề mình nêu
Nhưng cách trình bày nảy là trên bảng báo cáo (không thể thay đổi format được) sẽ in ra luôn có thể rất nhiều trang nên khi theo rất bất tiện dễ bị bỏ quên những điểm nằm trong giữa. do còn nhiều cái xử lý khác nữa nên mình sử dụng một form.
Mình sử dụng một mảng để chứa các chỉ tiêu A1,A3,và một mảng chứa kết quả A2,A4 và điều kiện khi phần tử trong mảng chứa kết quả khác rỗng thì sẽ đưa chỉ tiêu đó qua ListBox2 xóa chỉ tiêu đó trên litsbox1
Nhưng các sự kiện và phương thức của ListBox mình sử dụng không thạo lắm nên bí.
Rất mong nhận được sự góp ý và giúp đỡ của các A/C
Xin cam Ơn!
 
Upvote 0
Giả sử bạn có mảng A1() chứa các giá trị ô lẻ (A1, A3, A5...) và mảng A2() chứa các ô chẵn
Dim I as long
For I = 0 to Ubound(A2)
If A2(i)<>"" then ListBox1.AddItem (A1(i))
Next
Bạn nói lúc thì là mảng, lúc thì là ListBox tôi không hiểu
Nếu giá trị các ô được bạn đưa vào trong ListBox thì làm như sau
Với List1 chứa giá trị các ô lẻ, List2 chứa danh sách cần tìm
For I = 0 to List1.Listcount-1
If cells(I+A, 1).value <> "" then'A là số dòng của dòng đầu tiên chứa số liệu
List2.AddItem List1.List(I)
List1.RemoveItem(I)
I=I-1
end if
Next
 
Upvote 0
Giả sử bạn có mảng A1() chứa các giá trị ô lẻ (A1, A3, A5...) và mảng A2() chứa các ô chẵn
Dim I as long
For I = 0 to Ubound(A2)
If A2(i)<>"" then ListBox1.AddItem (A1(i))
Next
Bạn nói lúc thì là mảng, lúc thì là ListBox tôi không hiểu
Nếu giá trị các ô được bạn đưa vào trong ListBox thì làm như sau
Với List1 chứa giá trị các ô lẻ, List2 chứa danh sách cần tìm
For I = 0 to List1.Listcount-1
If cells(I+A, 1).value <> "" then'A là số dòng của dòng đầu tiên chứa số liệu
List2.AddItem List1.List(I)
List1.RemoveItem(I)
I=I-1
end if
Next
Cảm ơn nhé!
Minh ghi giá trị trên cell A1 A3 vào mảng rồi từ mảng mình mới bỏ vào LitsBox1 đến đây là OK, nhưng màng thứ 2 lấy kết quả A2, A4 kiểm tra coi có thực hiện xong chưa để xóa chỉ tiêu đó trên ListBox1 và đưa qua ListBox2 thì chịu.
Cảm ơn hoa35ktxd đã trả lời vấn đề mình bí
 
Upvote 0
Cậu nên đưa file lên mọi người mới biết để giúp cho.
Vấn đề xem ra cũng không khó. Chỉ cần đưa file có số liệu lên là được.
Xin cảm ơn các A/C đã quan tâm trả lời. đối việc việc đã biết rồi thì quá dễ dàng nhưng em mới tìm hiểu sao khó quá chừng
Vậy em xin gời lên file đính kèm và yêu cầu có ghi trên form, mong các A/C chỉ giúp để cho em được học hỏi với.
Rất mong nhận được sự trợ giúp. Xin cảm ơn nhiều nhiều.
 

File đính kèm

Upvote 0
Tư duy logic của bạn có vấn đề rồi, đọc xong chẳng hiểu gì cả:
"Khi nhập số nhóm vào textbox thì chương trình sẽ lấy đến số nhóm tương ứng (số nhóm có thể lên đến 100)
Trong ListBox1 dự kiến sẽ hiển thị các các con số dự kiến chưa có kết quả nếu biết được điểm đó của nhóm nào thì tuyệt
Trong ListBox2 đã có kết quả sẽ hiển thị các con số dự kiến đã có kết quả và xóa điểm dự kiến đó trên ListBox 1 nếu được có thể cho thêm cột để hiển thị luôn kết quả và của nhóm nào thì quá tốt"
List1 chỉ hiển thị những dự kiến chưa có kết quả thì làm sao mà xóa điểm dự kiến đó trên ListBox 1 được chứ.
Tôi sửa lại cái Form của bạn cho ra 2 danh sách, 1 là đã có kết quả, 2 là chưa có kết quả.
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom