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
 
ongtrungducmx25 đã viết:
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é!
Cái này không làm trong VBA, nó làm trực tiếp trong sheet
Các bước đây:

untitled3ou2.png


untitled4ey6.th.png


untitled5iv8.png


Điểm khác của nó là trong bảng Format Control, nó có thêm tab: Control, với Input Range là vùng data và Cell Link là ô địa chỉ trả về ListIndex của combo.
 
Lần chỉnh sửa cuối:
Các bác cho em hỏi là muốn tạo cái dropdown bằng công cụ Data --> Validation / List ( cho đơn giản í mà ) . Nhưng hình như cái này chỉ cho phép tham chiếu các dữ liệu ( Sourse ) trong cùng một Sheet thì phải . Nếu muốn tham chiếu thông qua các Sheet khác thì phải làm bằng cách nào ( Do em muốn tạo một cái Sheet riêng chứa Dữ liệu mà thôi ). Mong các bác giúp đỡ .Thanks a lot !
 
Thì phải vào insert đặt tên cho vùng tham chiếu đó bạn
 
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)


Em không rành lắm nên phiền anh hướng dẫn chi tiết hơn nhé! Cách làm từng bước
Cám ơn Anh Tuấn rất nhiều
 
Sao không dung Valuedation cho nhanh
 
Drop list

Mình muốn học hỏi thêm về combobox. Vì sau khi được tiếp xúc với trang GPE mình cảm thấy kiến thức excel mình thật hạn hẹp, mình rất thích khám phá thêm nhiều điều về Excel. Rất mong được các bậc tiền bối về excel chỉ dẫn thêm.
Mình muốn bắt đầu tìm hiểu về Drop List, Cách tạo ComboBox.
 
Mình muốn học hỏi thêm về combobox. Vì sau khi được tiếp xúc với trang GPE mình cảm thấy kiến thức excel mình thật hạn hẹp, mình rất thích khám phá thêm nhiều điều về Excel. Rất mong được các bậc tiền bối về excel chỉ dẫn thêm.
Mình muốn bắt đầu tìm hiểu về Drop List, Cách tạo ComboBox.
Ngày xưa tôi học bằng cách rất đơn giãn:
- Down file có xài ComboBox về
- Hỏi trên diển đàn xem cách "vẽ" ComboBox này như thế nào (cái này thì mấy bài trên đã hướng dẩn xong)
- Bắt đầu Properties từng em ComboBox xem người ta thiết lập cái gì trong đó
- Cuối cùng là bắt chước bằng những thí nghiệm
Đơn giãn vậy thôi... Tôi nghĩ các bạn chịu khó tìm tòi thì không đầy 30 phút có thể hiểu được ComboBox Forms
 
Thì phải vào insert đặt tên cho vùng tham chiếu đó bạn
Các bác cho em hỏi là : Không biết tại sao khi Drop thì font chữ tiếng Việt bị lỗi (mặc dù đã chỉnh ô Drop đó đúng như font chữ của vùng cần tham chiếu rồi) . Khi chọn xong thì ô đó lại ko bị lỗi font chữ !?
 

File đính kèm

  • 1.JPG
    1.JPG
    17.4 KB · Đọc: 129
Các bác cho em hỏi là : Không biết tại sao khi Drop thì font chữ tiếng Việt bị lỗi (mặc dù đã chỉnh ô Drop đó đúng như font chữ của vùng cần tham chiếu rồi) . Khi chọn xong thì ô đó lại ko bị lỗi font chữ !?
Font chữ "bị lỗi" đó không liên quan gì đến việc định dạng cho ô chứa nó, mà nó lệ thuộc vào font chữ mặc định của Excel.
Bạn vào trong Tools|Options|General, xem chỗ Standard Font là font gì (thường thì nó là Arial, thuộc loại font Unicode), thì đó là loại font sẽ được thể hiện trong cái Dropdown khi xổ xuống.
 
Dear eng.hiep,
--------------

Do MS Excel hiển thị danh sách này theo bảng mã UNICODE, bạn nên chuyển đổi văn bản của bạn thành mã UNICODE. Công cụ chuyển đổi đơn giản và thông dụng nhất là Ctrl+Shift+F6 của phần mềm UNIKEY phiên bản 4.0. Bạn có thể tìm phiên bản này trên Internet, rất nhiều!

Chúc bạn thành công!
 
Dear eng.hiep,
--------------

Do MS Excel hiển thị danh sách này theo bảng mã UNICODE, bạn nên chuyển đổi văn bản của bạn thành mã UNICODE. Công cụ chuyển đổi đơn giản và thông dụng nhất là Ctrl+Shift+F6 của phần mềm UNIKEY phiên bản 4.0. Bạn có thể tìm phiên bản này trên Internet, rất nhiều!

Chúc bạn thành công!
Em đã Download về rồi , nhưng chưa biết cách chuyễn ntn ( bấm Ctrl+Shift+F6 nó ra 1 hộp thoại dùng để chuyễn , nhưng ko biết xài nên chuyển ko được ) .Anh chỉ cho em cách để chuyển đổi các font đó (.vntime) sang mã Unicode được không ạ ? Do từ trước giờ em chỉ xài VIETKEY thôi . Thanks !
 
Đơn giản như bạn Copy - Paste vậy, chỉ khác Ctrl+Shift+F6 là bước trung gian thôi, có nghĩa là:
1. Copy vào Clipboard
2. Ctrl+Shift+F6, chọn bảng mã nguồn và bảng mã đích cần chuyển đổi, ấn lệnh "Chuyển mã"
Nếu bạn chắc chắn việc cài đặt bảng mã nguồn và bảng mã đích theo đúng ý muốn thì thay vì ấn Ctrl+Shift+F6, bạn ấn Ctrl+Shift+F9
3. Paste: Lưu ý nếu bạn chuyển đổi trên Excel rất có thể sau khi Paste bạn bị dư thêm một cột trắng bên phải sẽ đè mất dữ liệu cũ nên trước khi Patse bạn nên Insert thêm một cột.

Ấn nút Hướng dẫn ở giao diện chính của chương trình để xem hướng dấn toàn diện về UNIKEY

Sẽ có thắc mắc thêm là: khi chuyển đổi ô có công thức thì phải làm sao vì khi chuyển đổi công thức thành giá trị hết? Mình xin trả lời luôn nhé:

Trước khi Copy, bạn phải chuyển chế độ view của bảng tính về chế độ xem công thức: bấn Ctrl+~ (hoặc vào Tools/Options/View: Chọn trong Windows Options mục Formula). Sau đó mới thực hiện chuyển đổi, ấn Ctrl+~ một lần nữa để trở lại trạng thái ban đầu.
 
Lần chỉnh sửa cuối:
Font chữ "bị lỗi" đó không liên quan gì đến việc định dạng cho ô chứa nó, mà nó lệ thuộc vào font chữ mặc định của Excel.
Bạn vào trong Tools|Options|General, xem chỗ Standard Font là font gì (thường thì nó là Arial, thuộc loại font Unicode), thì đó là loại font sẽ được thể hiện trong cái Dropdown khi xổ xuống.
Em đã đổi lại trong Standard Font trùng với lại font vùng cần tham chiếu (.vntime) nhưng vẫn bị lỗi font như trên !
 
Standard Font chỉ áp dụng cho thanh công thức thôi bạn ạ!
Theo mình tốt nhất là bạn tạo thói quen sử dụng bộ mã UNICODE vì mọi người ai cũng dùng bảng mã này cả rồi!
Nên tập trung vào chủ đề chính đi, không nó loãng!
 

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

Back
Top Bottom