Drop List (dropdown) (1 người xem)

  • Thread starter Thread starter Jin Yong
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

Jin Yong

Thành viên mới
Tham gia
3/8/07
Bài viết
9
Được thích
1
Jin tìm mãi trên diễn đàn nhưng chỉ có gán Data cho DropList (combo box) mà không chỉ cách gán tham chiếu cho nó.

Chẳng hạn, Jin có bài toán như sau:
- Cột A1, A2, A3 là danh sách vùng gió: Hà Nội, Huế, TP. Hồ Chí Minh
- Cột B1, B2, B3 là giá trị tải gió tương ứng của các vùng đó: 90, 100, 110
Bây giờ Jin muốn có một DropList để lựa chọn vùng gió, và giá trị tải gió sẽ trả về ô C1
Chẳng hạn khi chọn trong droplist là: Huế, thì ở ô C1 sẽ có giá trị là 100.

Giúp với giúp với, danh sách các cùng gió rất dài nên không thể lập hàm Select Case đê trả giá trị thủ công được!
 
1/ Đặt tên cho combobox la VungGio
2/ Đặt name cho vùng chọn A1:B3 là Gio
3/ Trong Propeties của combo chọn ColumnCount = 2, BountColumn =1, ListFillRange = Gio
4/ Viết câu lệnh sau vào sự kiện change cua combo VungGio :

Private Sub VungGio_Change()
On Error Resume Next ' Nếu gặp lỗi thì cho qua
ActiveCell.Value = VungGio.Column(1) ' Lấy giá trị cột thứ 2 của combo gán vào Cell hiện hành
End Sub

5/ Đặt ô sáng của con trỏ vào ô C1 và chọn giá trị cần thiết

Thân
 
Lần chỉnh sửa cuối:
Bạn đang dùng Excel nào đấy, tôi đang dùng Excel 2002 và không thấy cái gì như bạn tả cả.
- Không thể đặt lại tên cho Combo (hoặc tôi chưa biết cách)
- Không có properties cho combo
 
1/ Dùng phiên bản nào của EX cũng thế cả
2/ Sử dụng combobox bằng công cụ Control Toolbox(View/Toolbar/Control Toolbox)
3/ Kích chuột phải vào combo vừa tạo, chọn Propeties, đặt tên và các giá trị khác của combo theo cái Propeties này
Thân
 
Tôi muốn hỏi thêm nữa là:
Chẳng hạn tôi gán một vùng dữ liệu (A1:B3) là Dia_danh, Combobox nhận data này dễ dàng khi chúng ta khai Soure cho nó là Dia_danh, nhưng khi khai báo theo cách Data --> Validation --> List cho một Cell, thì khi gán Soure cho nó là Dia_Danh, nó không nhận được vùng Data trên mà trong list của nó chỉ có mỗi một line là Dia_danh, tại sao như vậy nhỉ?
 
Với yêu cầu nhỏ này thì ko cần phải VBA đâu... Cũng là ComboBox nhưng bạn dùng ComboBox trên thanh Form rồi gán công thức là ra ngay kết quả cần... (hàm INDEX và MATCH)
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Jin Yong đã viết:
Tôi muốn hỏi thêm nữa là:
Chẳng hạn tôi gán một vùng dữ liệu (A1:B3) là Dia_danh, Combobox nhận data này dễ dàng khi chúng ta khai Soure cho nó là Dia_danh, nhưng khi khai báo theo cách Data --> Validation --> List cho một Cell, thì khi gán Soure cho nó là Dia_Danh, nó không nhận được vùng Data trên mà trong list của nó chỉ có mỗi một line là Dia_danh, tại sao như vậy nhỉ?

Câu trả lời nằm ở đây :

The list Source must be a delimited list, or a reference to single row or column

List chỉ nhận giá trị là một cột hoặc một hàng mà thôi
 
Mặc dù vậy, dù đã đặt tên duy nhất cột (A1:A3) là Vunggio, list của tôi vẫn không thể nhận data khi nhập Vunggio này vào Source. List của nó vẫn chỉ có một line duy nhất là Vunggio
Kì lạ là khi check lại thuộc tính của nó, (nhấp vào list, vào Data --> Validation Lấy source của nó là Vunggio rồi, kích khẽ vào vẫn thấy hiện lên vùng chọn. Nhưng cột đó lại không hiện được trong list *****
 
Đây là dạng CSDL rồi, không hiểu tác giả dùng Validation trong Excel hay dùng Form của VBA. Nếu dùng Form thì tham khảo file kèm theo.

Còn thông thường dùng hàm Vlookup tìm kiếm là được thôi mà.
 

File đính kèm

Jin Yong đã viết:
Jin tìm mãi trên diễn đàn nhưng chỉ có gán Data cho DropList (combo box) mà không chỉ cách gán tham chiếu cho nó.

Chẳng hạn, Jin có bài toán như sau:
- Cột A1, A2, A3 là danh sách vùng gió: Hà Nội, Huế, TP. Hồ Chí Minh
- Cột B1, B2, B3 là giá trị tải gió tương ứng của các vùng đó: 90, 100, 110
Bây giờ Jin muốn có một DropList để lựa chọn vùng gió, và giá trị tải gió sẽ trả về ô C1
Chẳng hạn khi chọn trong droplist là: Huế, thì ở ô C1 sẽ có giá trị là 100.

Giúp với giúp với, danh sách các cùng gió rất dài nên không thể lập hàm Select Case đê trả giá trị thủ công được!
Mình nghĩ bài toán này dùng hàm VLOOKUP thì rất hay đấy
 
anhtuan1066 đã viết:
làm thế nào để tìm công cụ "Drop Down 1" ra được zậy hướng dẫn mình làm thử nhé mình thấy nó hây lám đó. Chứ mình vào control toolbax tìm hoài cũng không thấy nhé!
 
phamnhukhang đã viết:
Mình nghĩ bài toán này dùng hàm VLOOKUP thì rất hay đấy

Đúng là ý Jin sẽ dùng hàm VLOOKUP, nhưng trước hết cần phải tạo được một Droplist để chọn địa danh cái đã, có được cái này xong thì sẽ dùng hàm VLOOKUP để tìm tải trọng gió ứng với địa danh đó

Jin càng không muốn dùng bất kỳ cái gì đụng đến form, mặc dù trước đây Jin khoái cái CSDL lắm, rất thích lập hàm VBA nữa, nhưng qua thời gin làm việc, thấy càng đơn giản, càng dễ sửa đổi sau này thì càng tốt.
Cái file của Jin đây, dù đã gán tên vùng data (K3:K6) là vunggio, nhưng vẫn không thể set nó cho cell được

Sửa giúp Jin với!!!
 

File đính kèm

anhtuan1066 đã viết:
Thật xin lỗi anhtuan106, điều Jin muốn đúng là như vậy! Jin cảm ơn nhiều

@ongtrungducmx25: công cụ dropdown này lấy trong bảng Form chứ không phải Control box

Nhưng Jin vẫn muốn biết cách gán một data list cho một cell (Data --> Validation...) bằng tên đại diện (Insert --> Name...)
Vì bằng cách này Jin sẽ dễ dàng thao tác hơn băng lệnh VLOOKUP!
 
Lần chỉnh sửa cuối:
Bổ sung thêm việc đặt names
vunggio
Refers to:
=OFFSET(PHULUC!$K$3:$K$100,0,0,COUNTA(PHULUC!$K$3:$K$100),1)
Nghĩa là ta chọn Cột K->100, nhưng ta chỉ lấy COUNTA(PHULUC!$K$3:$K$100), bỏ các dòng trống. Tiện cho việc thêm dữ liệu vào vùng gió (vunggio)
- Bạn dùng validation, list, phần source phải là =vunggio, phải có dấu =
- 1 góp ý thêm, bạn nên có cột mã địa danh, và tham chiếu tên địa danh. Như vậy khi dùng Vlookup sẽ dễ dàng, sợ có blank thừa.
 
Jin Yong đã viết:
Tôi muốn hỏi thêm nữa là:
Chẳng hạn tôi gán một vùng dữ liệu (A1:B3) là Dia_danh, Combobox nhận data này dễ dàng khi chúng ta khai Soure cho nó là Dia_danh, nhưng khi khai báo theo cách Data --> Validation --> List cho một Cell, thì khi gán Soure cho nó là Dia_Danh, nó không nhận được vùng Data trên mà trong list của nó chỉ có mỗi một line là Dia_danh, tại sao như vậy nhỉ?
Jin khi dùng Validation thì đặt tên cho vùng là B1:B3 chứ đặt tên A1:B3 là không hiểu được
 
Cái file của Jin đây, dù đã gán tên vùng data (K3:K6) là vunggio, nhưng vẫn không thể set nó cho cell được

Sửa giúp Jin với!!![/QUOTE]

Có phải thế này không? bạn xem file gửi kèm nhé
 

File đính kèm

yeudoi đã viết:
Jin khi dùng Validation thì đặt tên cho vùng là B1:B3 chứ đặt tên A1:B3 là không hiểu được
Nếu đặt tên B1:B3, sau đó sửa lại vùng thì nó vẫn hiển thị được (ở dạng cột thay vì dạng hàng - ví dụ: hàng 1: mã, hàng 2: tên; rồi tiếp tục đến dòng thứ 2...)+-+-+-+
 
Nguyễn Hương Thơm đã viết:
Cái file của Jin đây, dù đã gán tên vùng data (K3:K6) là vunggio, nhưng vẫn không thể set nó cho cell được

Sửa giúp Jin với!!!

Có phải thế này không? bạn xem file gửi kèm nhé[/QUOTE]
Cái nầy thì bạn chỉ cần dùng vlookup là được thôi chứ có khăn gì =vlookup(tên cần dò,Phạm vi cần dò, 2,0) là được. Có nhiều cách để thực hiện
 
Jin Yong đã viết:
Mặc dù vậy, dù đã đặt tên duy nhất cột (A1:A3) là Vunggio, list của tôi vẫn không thể nhận data khi nhập Vunggio này vào Source. List của nó vẫn chỉ có một line duy nhất là Vunggio
Kì lạ là khi check lại thuộc tính của nó, (nhấp vào list, vào Data --> Validation Lấy source của nó là Vunggio rồi, kích khẽ vào vẫn thấy hiện lên vùng chọn. Nhưng cột đó lại không hiện được trong list *****

Bạn đặt source của list là =Vunggio ( thêm dấu = phía trước chữ Vunggio trong source nhé)
Thân
 
công cụ dropdown này lấy trong bảng Form chứ không phải Control box


Em đã vào VBA nhưng không biết chọn cái nào, mong chỉ dân thêm.Chỉ mình cách sử dụng dropdown công cụ này như thế nào luôn nhé!

hinh1.jpg
 
Web KT

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

Back
Top Bottom