Bạn thường xuyên phải làm việc với các file Excel có nhiều Sheet và cảm thấy việc di chuyển giữa chúng bằng thanh Sheet Tab quá chậm chạp và mất thời gian? Hãy cùng Thủ Thuật tìm hiểu cách tạo combobox để di chuyển giữa các Sheet trong Excel một cách nhanh chóng và hiệu quả hơn.
Bạn đã bao giờ gặp trường hợp file Excel của mình có quá nhiều sheet, việc di chuyển giữa chúng bằng cách click chuột vào từng sheet trở nên khó khăn và mất thời gian? Thủ thuật này sẽ giúp bạn giải quyết vấn đề đó bằng cách sử dụng combobox. Combobox sẽ hiển thị danh sách tất cả các sheet trong file, giúp bạn dễ dàng lựa chọn và di chuyển đến sheet mong muốn chỉ bằng một cú click chuột.
1. Tạo Combobox Chứa Danh Sách Các Sheet
Đầu tiên, chúng ta cần tạo một combobox chứa danh sách tất cả các sheet trong file Excel. Việc này giúp bạn dễ dàng quản lý và chuyển đổi giữa các sheet, đặc biệt là khi file Excel có số lượng sheet lớn.
a. Thêm Combobox vào Excel
- Mở tab Developer. Nếu chưa thấy tab này, bạn có thể bật nó lên trong File > Options > Customize Ribbon và tích chọn Developer trong khung bên phải.
- Trong tab Developer, chọn Insert > Combobox (trong nhóm ActiveX Controls).
Thêm Combobox từ ActiveX Controls
- Vẽ combobox vào vị trí mong muốn trên sheet.
Để dễ dàng quản lý, nên đặt tên cho combobox. Click chuột phải vào combobox, chọn Properties và thay đổi giá trị trong mục (Name). Ví dụ, đặt tên là cbChonSheet
.
b. Gán Danh Sách Sheet vào Combobox
Mục tiêu là tạo một danh sách sheet tự động cập nhật khi có thêm, xóa hoặc đổi tên sheet. Chúng ta sẽ thực hiện các bước sau:
- Mở cửa sổ VBA bằng phím tắt
Alt + F11
hoặc trong tab Developer, chọn Visual Basic. - Double click vào sheet chứa combobox (ví dụ: Sheet1).
- Chọn sự kiện Worksheet_Activate.
Chọn sự kiện Worksheet_Activate
- Viết đoạn mã sau vào cửa sổ code:
Private Sub Worksheet_Activate()
Me.cbChonSheet.Clear
For Each ws In ThisWorkbook.Worksheets
Me.cbChonSheet.AddItem ws.Name
Next ws
End Sub
Đoạn mã này sẽ xóa danh sách cũ và cập nhật danh sách sheet mới mỗi khi sheet được kích hoạt.
Danh sách Sheet trong Combobox
2. Di Chuyển Tới Sheet Được Chọn
Bây giờ, chúng ta sẽ viết code để di chuyển đến sheet được chọn trong combobox. Khi người dùng chọn một sheet từ combobox, đoạn mã VBA sẽ tự động chuyển đến sheet đó.
- Trong cửa sổ VBA, double click vào sheet chứa combobox.
- Chọn
cbChonSheet
từ danh sách dropdown. - Chọn sự kiện Change.
Chọn sự kiện Combobox Change
- Viết đoạn mã sau:
Private Sub cbChonSheet_Change()
If cbChonSheet.Value <> "" Then
Worksheets(cbChonSheet.Value).Select
End If
End Sub
Đoạn mã này sẽ kiểm tra xem có sheet nào được chọn trong combobox hay không và di chuyển đến sheet đó.
Vậy là xong! Bây giờ bạn có thể dễ dàng di chuyển giữa các sheet trong Excel bằng cách chọn tên sheet từ combobox. Thủ thuật này đặc biệt hữu ích khi làm việc với các file Excel có nhiều sheet. Nó giúp tiết kiệm thời gian và tăng hiệu quả công việc.
Giao diện sheet tab
Hướng dẫn hiện thẻ Developer
Discussion about this post