Hỏi về Validation dạng List

Liên hệ QC

nguoirung1234

Thành viên mới
Tham gia
12/3/07
Bài viết
45
Được thích
12
Chào các anh chị.

Tôi có làm 1 file Excel để ghi kết quả bóng đá. Tôi dùng Validation dạng list để ghi tên đội bóng. Tôi muốn rằng khi ghi tên 1 đội bóng vào 1 vòng đấu thì tên đội bóng đó sẽ được xóa đi trong list. Tôi đã thử thực hiện theo 2 cách :

Cách 1 : tạo từng list cho từng vòng đấu. Cách này thì nhiêu khê quá, vì phải tạo list cho từng vòng đấu rồi phải nhập validation cho từng list.

Cách 2 : dùng thủ tục SelectionChange để thay đổi name. Cách này thì chỉ phải làm 1 list nhưng nó lại làm chậm máy. File dữ liệu của tôi ít nên không thấy rõ chứ nếu file có nhiều dữ liệu sẽ thấy chậm đi đáng kể.

Vấn đề tôi hỏi là có giải pháp nào khắc phục nhược điểm của cả 2 cách trên không ?
 

File đính kèm

Nếu giải bóng đá ngoại hạng Anh như trong file kèm bạn đưa lên

Thì bạn search go ogle đi, có hẳn file chính xác theo lịch thi đấu thực tế lun, không phải khổ công lập riêng làm j
 
Nếu giải bóng đá ngoại hạng Anh như trong file kèm bạn đưa lên

Thì bạn search go ogle đi, có hẳn file chính xác theo lịch thi đấu thực tế lun, không phải khổ công lập riêng làm j
Cám ơn bạn đã quan tâm nhưng vấn đề tôi quan tâm ở đây là Excel chứ không phải bóng đá.
 
Cám ơn bạn đã quan tâm nhưng vấn đề tôi quan tâm ở đây là Excel chứ không phải bóng đá.

Nếu là excel thì bạn cần giải thích rõ,

Không rõ bạn nói
"Tôi muốn rằng khi ghi tên 1 đội bóng vào 1 vòng đấu thì tên đội bóng đó sẽ được xóa đi trong list."

là vòng đấu nào, vào vòng nao, vòng nào chả có ngần ấy đội đá??? (vì đá vòng tròn cả mùa giải)
 
Nếu là excel thì bạn cần giải thích rõ,

Không rõ bạn nói
"Tôi muốn rằng khi ghi tên 1 đội bóng vào 1 vòng đấu thì tên đội bóng đó sẽ được xóa đi trong list."

là vòng đấu nào, vào vòng nao, vòng nào chả có ngần ấy đội đá??? (vì đá vòng tròn cả mùa giải)
Híc, tức là khi chọn tên một đội nào đó trong một vỏng thì tên đội đó sẽ mất đi trong list validation của vòng đó, thí dụ trong file:
Vòng 1:
Cell [D3] là Liverpool thì từ [D4] đến [D12] và [G3:G12] sẽ không còn Liverpool để chọn nữa
Tiếp tục, cứ chọn em nào xong là cho em đó "tèo" luôn
Tương tự các vòng khác
Híc
 
Không biết bạn có dùng thủ tục SelectionChange hay không nhưng khi tôi xóa thủ tục này đi thì file của bạn không xử lý được validation nữa. Nhờ bạn xem lại hộ.

Tôi xài cthức đó chứ, đâu có xài vba (vba của tôi tệ lắm...hìihì). bạn có thể đưa cái file đó lên xem, nó bị sai cái gì? (tôi cũng đang dzọc nó mà...hìhì)


àh...vô tình thôi, cái selection change nằm trong file củ của bạn.--->khi bạn chuyển qua vòng mới (từ vòng này chuyển qua vòng kia)---> thì chọn cell nào đó trong vùng nhấn delete một cái
tại vì tôi dùng công thức cell("row"), nên phải có tác động nó mới hiểu--->giống sự kiện --->worksheet change
 
Lần chỉnh sửa cuối:
khi bạn chuyển qua vòng mới (từ vòng này chuyển qua vòng kia)---> thì chọn cell nào đó trong vùng nhấn delete một cái
tại vì tôi dùng công thức cell("row"), nên phải có tác động nó mới hiểu--->giống sự kiện --->worksheet change

Cám ơn bạn, nhưng như vậy cũng hơi phiền nhất là khi người khác sử dụng file của mình
 
Mình nghĩ với dữ liệu như bài này có thể dùng VBA xử nó, xin góp một cách viết
Bạn kiểm tra giúp nhé
Thân
 

File đính kèm

Lần chỉnh sửa cuối:
Cám ơn bạn, nhưng như vậy cũng hơi phiền nhất là khi người khác sử dụng file của mình

khắc phục thì sử dụng work sheet selection change đặt tên vùng "VungD"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [D3:G2000]) Is Nothing Then
r0 = (Target.Row - 3) Mod 10
ThisWorkbook.Names.Add "VungD", Target.Offset(-r0).Resize(r0 + 1)
End If
End Sub


tuy nhiên ko ai xài nữa tây nữa ta vậy..............chạy file của bác cò là ok rùi............hỉhì
 
Híc, tức là khi chọn tên một đội nào đó trong một vỏng thì tên đội đó sẽ mất đi trong list validation của vòng đó, thí dụ trong file:
Vòng 1:
Cell [D3] là Liverpool thì từ [D4] đến [D12] và [G3:G12] sẽ không còn Liverpool để chọn nữa
Tiếp tục, cứ chọn em nào xong là cho em đó "tèo" luôn
Tương tự các vòng khác
Híc

Thế chỉ có cách dùng

1) VBA như bac concogia đã làm

2) công thức: chắc phải dùng cột phụ rất nhiều, có bao nhiều trận thì có thể cần bấy nhiêu cột phụ -như thế quá phức tạp

vậy dùng VBA là đủ
 
Web KT

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

Back
Top Bottom