Cách tạo combobox trong Excel đơn giản, thành công nhanh 2022

Tạo combobox trong Excel làm sao? Khi phải nhập liệu trong Excel mà có nhiều dữ liệu trùng nhau cần nhập VD như giới tính, xếp loại … Để tiết kiệm thời gian bạn phải cần 1 phương án để Lựa chọn nhanh các dữ liệu này. Điều bạn cần làm là làm ra 1 danh sách chọn lựa và Combox Box trong Excel sẽ là cứu tinh của chúng ta. Hãy cùng blogphanmem.vn tìm hiểu về cách tạo combo box cho ô Excel trong bài content đưới dây nhé.

Bạn đang xem bài viết: Cách tạo combobox trong Excel đơn giản, thành công nhanh 2022

Combobox là gì? Combo Box trong Excel là gì?

Combo Box trong Excel là một chức năng nằm trong ribbon Developer của Excel tuy nhiên ribbon này trong cài đặt mặc định của Excel sẽ không hiển thị ở bên ngoài cho người dùng thấy. vì thế các bạn cần phải hiển thị ribbon Developer trước.

Cách hiện thị tab Developer trong Excel

đầu tiên các bạn mở Excel lên và nhìn lên trên thanh công cụ, sau đấy chọn file => Options để mở ô cửa sổ công dụng Excel Options ra.

Khi ô cửa sổ Excel Options được bật mở, các bạn click mở mục Customize Ribbon.

Nhìn sang phần Main Tabs đánh dấu vào ô Developer sau đấy bạn bấm OK để xác nhận cài đặt.

một khi bấm OK chúng ta sẽ thấy một ribbon Developer đã được chèn vào trên thanh công cụ chính

Bây giờ để chèn combo box vào trong trang tính của mình, các bạn mở ribbon Developer ra rồi click vào biểu tượng Insert nằm trong nhóm Controls và chọn biểu tượng Combo Box trong danh sách Form Controls.

dùng chuột để kéo ra một kích cỡ box ổn tại vị trí mà bạn muốn.

sau khi bảng Combo Box hình thành, các bạn click chuột phải vào bàng và chọn Format Control trong danh sách hiển thị.

Ô cửa sổ chức năng Format Control được bật mở, các bạn mở tab Control rồi click vào biểu tượng mũi tên chỉ lên của dòng Input range để chọn vùng dữ liệu đưa vào Combo box ( Vùng dữ liệu này phải được tạo sẵn trong file Excel đó)

bằng việc này các chúng ta có thể chọn được danh sách muốn hiển thị trong Combo Box. Bạn kéo bôi đen mảng dữ liệu đấy rồi bấm Enter.

một khi chọn xong danh sách của Combo Box, bạn tiếp tục chọn số lượng dòng sẽ được thả xuống khi dùng Combo Box.

Các chúng ta có thể đặt dấu tích trước 3-D shading để Combo Box của mình trông có chiều sâu như đang chìm xuống trang giấy hơn.

Bạn chuyển sang tab Properties để làm thêm vài thiết lập liên quan tới Object positioning (Định vị đối tượng).

Khi các bạn chọn Move but don’t size with cells, các Bạn có thể di chuyển Combo Box của mình nhưng không thể chỉnh sửa dài rộng của box.

Don’t move or size with cells, các bạn không thể thực hiện việc thay đổi kích cỡ hay di chuyển box.

Cuối cùng các bạn bấm OK để xác nhận thiết lập.

Hiện giờ các bạn đã có một Combo Box để Lựa chọn danh sách tại vị trí mình đã chọn rồi. nếu Combo Box chưa hiển thị text click chuột phải vào và kéo giãn khung Combo box ra.

Để đỡ mất thời gian tạo lại Combo Box tương tự, các Bạn có thể tìm kiếm cách copy và paste nó vào những dòng còn lại.

Tạo combobox trong Excel – Combo Box Form Control

Để có thể chèn Form Control combo box, bạn trên hết phải kích hoạt thẻ Developer trên thanh công cụ theo các bước sau đây:

Bước 1: Trong Excel 2010/2013, bạn chọn file > Options, nhấn file > Options trong bảng bên trái, rồi đánh dấu chọn Developer trong hộp thoại Excel Options, sau đó nhấn OK.

Với Excel 2007, bạn nhấp chọn Office button > Excel Options để mở hộp thoại Excel Options. Trong bảng bên trái, bạn nhấn Popular và trong bảng bên phải, sau đấy đánh dấu chọn Show Developer tab in the Ribbon dưới phần Top options for working with Excel.

Bước 2: sau khi hiển thị thẻ Developer, bạn thực hiện tạo danh sách thành quả bạn mong muốn thêm vào Combo Box như trong hình dưới đây:

Bước 3: Nhấp Developer > Insert, dưới Form Controls, rồi nhấn nút Combo Box, sau đấy kéo thả chuột để di chuyển Combo Box tới vị trí cụ thể.

Bước 4: Nhấp phải vào Combo Box, rồi chọn Format Control.

Bước 5: Trong hộp thoại Format Object, bạn nhấp vào thẻ Control, trong Input range, nhấn nút doc-button-1 để chọn vùng dữ liệu mà bạn muốn thêm vào Combo Box, và cũng có thể khác biệt Drop down lines (Số dòng trong danh sách tùy chọn) theo ý của mình.

Bước 6: Sau khi đã thiết lập xong, bạn nhấn OK, Combo Box được tạo thành công như hình sau:

Tạo Combobox trong Excel với ActiveX Control

Đối với Thủ Thuật Excel – những Combo Box trên, bạn không thể thay đổi kích cỡ chữ, nhưng nếu như thao tác với Active Control combo box, bạn hoàn toàn có thể thiết lập kích cỡ chữ cho chúng, tuy nhiên, việc tạo Combo Box này sẽ hơi khó thực hiện.

Bước 1: Tiến hành tạo một danh sách dữ liệu cho Combo Box, sau đó nhập một trong các dữ liệu vào ô trống, rồi chọn ô đấy và nhấp phải, chọn Define Name để tạo tên dãy nhằm liên kết với danh sách.

Bước 2: Trong hộp thoại New Namebạn nhập tên của danh sách, chọn Workbook từ danh sách tùy chọn Scope, và nhấp nút doc-button-1 trong vùng Refers to: để chọn danh sách dữ liệu.

Bước 3: Tiếp đó, bạn nhấn OK để coi như hoàn tất bước này, rồi chọn Developer > Insert, và nhấp vào nút Combo Box dưới ActiveX Control, thực hiện kéo thả chuột để di chuyển Combo Box.

Bước 4: Nhấp phải vào Combo Box, rồi chọn Properties để thiết lập đặc tính của nó.

Bước 5: Trong cửa sổ Properties, ở phần LinkedCellbạn nhập ô tính và tên danh sách bạn vừa tạo trong bước 1 và bước 2.

Bước 6: Thực hiện đóng cửa sổ. Nhấp lệnh Design Mode dưới thẻ Developer để đóng Design Mode.

Bước 7: Combo Box đã được tạo và sẵn sàng dùng.

Chú ý:

nếu bạn mong muốn chỉnh sửa kích cỡ chữ, hãy nhấp lệnh Design Mode trong thẻ Developer để truy xuất Design Mode, nhấp phải vào Combo Box và chọn Properties.

Tại cửa sổ Properties, nhấn nút doc-button-2 ở bên phải đặc tính Font. Trong hộp thoại Font mở ra, hãy thiết lập font và kích cỡ cho Combo Box của bạn.

sau khi thay đổiCombo Box trông như hình bên dưới

Tạo combobox trong Excel chứa danh sách các Sheet trong file

Giả sử có 1 tệp Excel gồm nhiều sheet như sau:

Trong đó:

  1. Bấm chuột phải vào góc bên trái thanh SheetTab để mở cửa sổ Active. Trong cửa sổ này có hết tên các Sheet
  2. bố cục và giao diện các Sheet tại thanh SheetTab không hiển thị hết được các Sheet. việc này gây chông gai khi di chuyển tới các Sheet bằng cách sử dụng thanh SheetTab

Để việc di chuyển giữa các Sheet được tốt hơnchúng ta có thể tạo 1 danh sách chọn, trong danh sách này sẽ có chứa tên các Sheet

a. Tạo Combobox trong Excel

Trước hết chúng ta phải có tạo ra 1 combobox. Trong thẻ Developer chúng ta bấm chọn Inserttrong số đó chọn tiếp Combobox trong mục ActiveX Controls

nếu bạn chưa biết thẻ Developer ở đâu thì đọc thêm bài viết này:

kế đến chúng ta sẽ vẽ combobox đấy ra 1 vị trí bất kỳ.

Để quản lý các chủ thể trong Excel được đạt kết quả tốtchúng ta cần đổi tên để cho dễ nhớ và dễ gọi ra khi cần. Trong combobox vừa tạo, chúng ta bấm chuột phải và chọn Properties

Trong mục (Name) chính là tên của combobox. Mặc định trong Excel khi tạo Combobox sẽ có tên là ComboBox và Số thứ tự của combobox được tạo.

mong muốn đổi tên, con người sẽ thay chữ ComboBox1 trong mục (Name) thành tên gọi theo ý muốnchú ý là tên này không được dùng dấu cách, không bắt đầu bằng 1 con số hoặc bằng 1 ký tự đáng chú ý nào đấy.

Ví dụ: Đổi tên thành cbChonSheet (chữ cb là viết tắt của combobox, mục tiêu dùng combobox là Chọn Sheet trong file)

b. Gán danh sách tên Sheet vào Combobox

Trong thao tác này, chúng ta hình dung rằng cần phải đạt được đòi hỏi sau:

  • Tập hợp danh sách tên các Sheet đang có.
  • Mỗi khi file Excel có sự chỉnh sửa về Sheet (Xóa, thêm mới, đổi tên…) thì danh sách tên Sheet phải cập nhật lại.

Như vậy việc cần làm bao gồm:

  • Xóa danh sách tên Sheet trong Combobox trước những lúc tác động tới nó
  • Nạp lại danh sách tên Sheet vào Combobox

Các bước thực hiện như sau:

  1. Mở cửa sổ VBA bằng phím tắt Alt + F11 (hoặc trong thẻ Developer chọn Visual Basic)
  2. Double Click vào Sheet có đặt combobox, trong ví dụ này là Sheet1(MENU)
  3. Chọn sự kiện Worksheet_Activate

Trong cửa sổ viết code của Worksheet_Activate chúng ta viết lệnh như sau:

Private Sub Worksheet_Activate()
‘Xoa noi dung combobox truoc khi nap lai danh sach
Me.cbChonSheet.Clear
‘Đặt tên biến ws đại diện cho đối tượng worksheet
Dim ws As Worksheet
‘Nạp lại danh sách tên Sheet vào Combobox bằng vòng lặp For Each
For Each ws In ThisWorkbook.Worksheets
Me.cbChonSheet.AddItem ws.Name
Next ws
End Sub
view rawWorksheet_Activate.bas hosted with ❤ by GitHub

Trong đó:

  • cbChonSheet là tên của Combobox đã được đặt ở trên
  • Me đại diện cho Worksheet đang thực hiện công việcdùng Me để có khả năng gọi ra các đối tượng có tại sheet đấy.
  • Me.cbChonSheet.Clear là xóa thông tin có trong Combobox có tên là cbChonSheet, combobox này được đặt tại Sheet đang làm việc
  • For Each ws In ThisWorkbook.Worksheets là thực hiện xét từng WorkSheet có trong Workbook với vòng lặp dạng For Each
  • Me.cbChonSheet.AddItem ws.Name là thêm thông tin vào danh sách chọn của Combobox, thông tin được thêm là tên của mỗi Worksheet (theo biến ws) có trong Workbook
  • Next ws là sau mỗi sheet được chọn sẽ thực hiện công việc tiếp tới sheet khác cho tới khi hết vòng lặp (Cấu trúc For Each đi kèm với Next)

Kết quả: Khi bấm vào sheet thực đơn và chọn tới combobox cbChonSheet thì con người sẽ thấy xảy ra danh sách như sau:

Di chuyển tới sheet được tới Combobox trong Excel

Do mỗi đối tượng mục tiêu của Combobox đều chính là tên của các Sheet, vì lẽ đó khi chọn 1 nội dung bất kỳ, con người sẽ hình dung đó chính là câu lệnh

“Tên Sheet được chọn”.Select

Việc thay đổi nội dung được chọn trong Combobox chính là sự kiện Combobox_Change. Trong cửa sổ VBA con người làm như sau:

  • Double click vào sheet có chứa Combobox (Sheet1)
  • Bấm chọn cbChonSheet
  • Sau đấy VBA sẽ tự động tạo ra Private Sub cbChonSheet_Change (nếu không thì chọn tiếp Change ở bên phải của cbChonSheet)

Những điều cần quan tâm khi viết code cho sự kiện Combobox_Change:

  • phải có sự thay đổi trong Combobox (tức là có thông tin được chọn) thì mới tính là xảy ra sự kiện. việc này sẽ giúp tránh lỗi khi con người xóa thông tin trong Combobox.
  • Khi có thông tin được chọn thì xuất hiện sự kiện tương ứng

Vì điều đó chúng ta phải kết hợp thêm logoc IF trong Private Sub cbChonSheet_Change như sau:

Private Sub cbChonSheet_Change()

If cbChonSheet.Value <> “” Then

Worksheets(cbChonSheet.Value).Select

End If

End Sub

Trong đó:

  • cbChonSheet.Value <> “” có nghĩa là thông tin trong cbChonSheet khác rỗng, không phải là ô trống
  • Worksheets(cbChonSheet.Value).Select có nghĩa là chọn tới Sheet tương ứng theo giá trị được chọn tại combobox

Đến đây chúng ta đã hoàn thành được những việc phải làm rồi. Hãy đóng cửa sổ VBA lại và quay trở về Workbook để kiểm tra giá trị nào.

Tổng kết

Cám ơn các bạn đã đọc và theo dõi bài viết của Blogphanmem.vn chúng tôi về cách để tạo combobox trong Excel. Chúc các Bạn có thể thực hiện thành công thủ thuật này và tăng năng suất công việc nhé!

BÀI VIẾT LIÊN QUAN