Chiêu s 24: Dùng nhiu List cho 1 Combobox
Excel cung cp cho bn những cách để chn 1 thứ trong 1 danhch để nhp liu vào 1
ô. Trong đó có công cụ combobox, t danh sách x xung ca combobox, bn có th
chn 1 ngày trong tuần, 1 tháng trong năm, hoặc 1 sn phm trong danh sách. Nếu bn
cn chn la trong 3 danh sách kc nhau, bn s nghĩ rằng bn cn 3 cái combobox.
Thay vì vy, bạnng chiêu sau đây, kết hp 1 combobox vi 3 option button. Trong thí
d sau, bny to 1 bảng tính, điền s t1 đến 7 vào vùng A1:A7, điền t ch nht
đến thứ hai vào vùng B1:B7, và điền tháng từ tháng 1 đến tháng 7 vào vùng C1:C7.
Mt cách nhanh nht để điền 21 ô này là hãy gõ 1 o A1. Trong khi nhn gi Ctrl, nm
cái fill handle ca ô A1 kéo xung A7. Tiếp theo, gõ Sunday vào B2, doubled-click
vào fill handle ca B1. Cui cùng gõ Jan vào ô C1, doubled-click vào fill handle ca
C1. Xong.
Bây gi bn vào Developer Controls Insert Form Controls (vi Excel 2003,
View Toolbars Forms) và nhn icon Option Button. V 3 cái lên sheet. V thêm 1
cái Groupbox bao quanh 3 cái Option cho đp. Bây gi v 1 cái Combobox 1 ch
thích hp.
Nhn chut phi o các Option, chn Edit Text, sa các t Option1, Option 2, Option
3, Groupbox1 như hình:
Nhn chut phi o 1 Option bt k, chn Format Control, trong tab Control, $F$1
vào ô Cell Link.
ô D6 gõ công thc =ADDRESS(1;$F$1)&":"&ADDRESS(7;$F$1)
o Define Name, đt mi 1 name MyRange, công thc là =INDIRECT($D$6)
Nhn chut phi o cái combobox, vào Format control, trong Cell link gõ MyRange,
Cell link là $G$1.
Bây gi khi bn chọn 1 trong các option, ô F1 thay đi các giá tr t1 đến 3, ô D6 thay
đổi vi các giá tr $A$1:$A$7, $B$1:$B$7, $C$1:$S$7. Và list trong combobox cũng
đổi theo.
B sung:
Có 1 vấn đ 3 list không phi lúc nào cũng dài bng nhau (bng 7 trong thí d trên),
thí d s t 1 đến 10, th trong tun t Ch nhật đến th by, tháng t1 đến 12. Vy ta
s phi m gì?
Ta hãy làm t từ nhé, trước tiên là cách dùng ô ph (tác gi cũng dùng 2 ô ph).
Gõ công thc sau vào ô G1:
=COUNTA(INDIRECT(ADDRESS(1;$F$1)&":"&ADDRESS(100;$ F$1)))
Vi công thc trên, G1 s các giá trị là 10, 7, 12 tương ứng vi F1 là 1, 2, 3.
Sa tiếp s 7 chết trong công thức ô D6 thành $G$1 cho động:
=ADDRESS(1;$F$1)&":"&ADDRESS($G$1;$F$1)
Kết qu hoàn toàn mn. Ô D6 s lần lượt là $A$1:$A$10, $B$1:$B$7, $C$1:$C$12
Bây gi là cách GPE: du (b) các ô ph.
Hin Name MyRange ca ta là =INDIRECT($D$6),
Sửa bưc th nht là thay $D$6 bng công thc ca D6:
=INDIRECT(ADDRESS(1;$F$1)&":"&ADDRESS($G$1;$F$1))
Kế đó thay $G$1 bng công thc ca G1:
=INDIRECT(ADDRESS(1;$F$1)&":"&ADDRESS(COUNTA(INDIR
ECT(ADDRESS(1;$F$1)&":"&ADDRESS(100;$F$1)));$F$1))
Ta có thể đàng hoàng xoá ô D6 và ô G1. Chỉ còn 1 ô F1 là link cell ca 3 options, ta
format nó thành ch trng là OK.
Trong file đính kèm dưới đây, tôi chưa xoá ô D6 và ô G1, để li cho các bạn xem chơi,
ri t t xoá sau.