Hộp danh sách là danh sách từ đó người dùng có thể chọn một mục. Để tạo hộp danh sách trong Excel VBA, hãy thực hiện các bước sau.

  1. Trên tab Nhà phát triển, nhấp vào Chèn.

  2. Trong nhóm Điều khiển ActiveX, bấm Hộp Danh sách.

Create a list box in Excel VBA

  1. Kéo một hộp danh sách trên trang tính của bạn.

Drag a List Box

Lưu ý: bạn có thể thay đổi tên của điều khiển bằng cách nhấp chuột phải vào điều khiển (đảm bảo Chế độ thiết kế được chọn) và sau đó nhấp vào Thuộc tính. Hiện tại, chúng ta sẽ để ListBox1 làm tên của hộp danh sách.

Tạo sự kiện mở sổ làm việc. Mã được thêm vào Sự kiện Mở Sổ làm việc sẽ được Excel VBA thực thi khi bạn mở sổ làm việc.

  1. Mở Trình soạn thảo Visual Basic.

  2. Nhấp đúp vào Sổ làm việc này trong Project Explorer.

  3. Chọn Workbook từ danh sách thả xuống bên trái và chọn Mở từ danh sách thả xuống bên phải.

Workbook Open Event in Excel VBA

  1. Để thêm các mục vào hộp danh sách, hãy thêm các dòng mã sau vào Sự kiện Mở Sổ làm việc:

With Sheet1.ListBox1

.AddItem "Paris"

.AddItem "New York"

.AddItem "London"

End With

Lưu ý: sử dụng Sheet2 nếu hộp danh sách của bạn nằm trên trang tính thứ hai, Sheet3 nếu hộp danh sách của bạn nằm trên trang tính thứ ba, v.v. Nếu bạn sử dụng các dòng mã này bên ngoài sự kiện Mở sổ làm việc, bạn có thể muốn thêm dòng mã sau trước những dòng mã này. Dòng mã này sẽ xóa hộp danh sách. Bằng cách này, các mục của bạn sẽ không được thêm nhiều lần nếu bạn thực thi mã nhiều lần.

ListBox1.Clear

Lưu ý: cũng xem thuộc tính ListFillRange để điền vào một hộp danh sách với một dải ô.

  1. Lưu, đóng và mở lại tệp Excel.

Kết quả:

List Box

Mặc dù trong một số trường hợp, có thể hữu ích khi đặt trực tiếp hộp danh sách trên trang tính của bạn, hộp danh sách đặc biệt hữu ích khi được đặt trên Biểu mẫu người dùng.