Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để chạy macro dựa trên giá trị được chọn từ danh sách thả xuống trong Excel?

Để chạy macro bằng cách nhấp vào nút lệnh là một nhiệm vụ phổ biến trong Excel, nhưng, bạn đã bao giờ thử thực thi các mã macro dựa trên giá trị được chọn từ danh sách thả xuống chưa? Có nghĩa là, khi bạn chọn một mục từ danh sách thả xuống, macro cụ thể sẽ được kích hoạt ngay lập tức. Bài viết này sẽ giới thiệu một đoạn mã hữu ích cho bạn để giải quyết công việc này.

Chạy macro dựa trên giá trị được chọn từ danh sách thả xuống với mã VBA


mũi tên màu xanh bong bóng bên phải Chạy macro dựa trên giá trị được chọn từ danh sách thả xuống với mã VBA

Không có cách nào trực tiếp để hoàn thành tác vụ này, nhưng mã VBA sau có thể giúp bạn, vui lòng thực hiện như sau:

1. Đầu tiên, hãy tạo một danh sách thả xuống khi bạn cần, xem ảnh chụp màn hình:

doc chạy macro từ menu thả xuống 1

2. Sau đó bấm chuột phải vào tab trang tính có chứa danh sách thả xuống bạn muốn sử dụng, rồi chọn Mã Chế độ xem từ menu ngữ cảnh và trong Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép và dán mã sau vào Mô-đun trống:

Mã VBA: Chạy macro dựa trên giá trị được chọn từ danh sách thả xuống:

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("E1")) Is Nothing Then
	    Select Case Range("E1")
	        Case "Insert Blank rows": Macro1
	        Case "Hide All Sheets": Macro2
            Case "Convert to Date": Macro3
	    End Select
	End If
	End Sub

doc chạy macro từ menu thả xuống 2

Chú thích: Trong đoạn mã trên, E1 là ô chứa danh sách thả xuống, hãy thay đổi tên macro và giá trị danh sách thả xuống theo nhu cầu của bạn.

3. Và sau đó lưu và đóng cửa sổ mã này, bây giờ, khi bạn chọn mục Chèn hàng trống từ danh sách thả xuống, Macro1 sẽ được kích hoạt, v.v.


Các bài liên quan:

Làm thế nào để chạy macro khi giá trị ô thay đổi trong Excel?

Làm thế nào để chạy macro dựa trên giá trị ô trong Excel?

Làm cách nào để chạy macro tự động trước khi in trong Excel?

Làm thế nào để chạy macro bằng cách nhấp vào siêu liên kết trong Excel?

Làm cách nào để chạy macro khi trang tính được chọn từ sổ làm việc?


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (6)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
efectivamente funciona pero quiero aplicarlo en varias celdas, que biến debo cambiar?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có cách nào để sử dụng mã VBA để thực hiện việc này trong Access không? Thanks
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hello!

Al aplicarlo me sale un error de compilación: La statementaración del procedureimiento không trùng hợp con la descripción del evento o el procedureimiento que tiene el mismo nombre. Que quiere decir eso? que debo cambiar / arreglar? Gracias
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Buổi sáng tốt lành. Bạn có thể thực hiện Macro từ menu thả xuống cho tiếp theo: Để chạy macro và lưu các trang tính riêng biệt cho từng mục từ menu thả xuống? Trong trường hợp của bạn sẽ trông như thế này:
1. Bạn chạy macro và sau đó bạn đã tách trang tính với các giá trị cho "Chèn hàng trống" được lưu trong thư mục được chỉ định
2. Trang tính được phân tách với các giá trị cho "Ẩn tất cả các trang tính:" được lưu trong thư mục được chỉ định
3. Trang tính được phân tách với các giá trị cho "Chuyển đổi sang ngày" được lưu trong thư mục được chỉ định.
4. Macro được thực hiện ngay bây giờ


Chủ yếu là tôi có thể thiết lập tất cả những điều này ngoại trừ việc macro tự động thay đổi lựa chọn từ trình đơn thả xuống?


Cảm ơn


Ivan
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web


MÃ ĐẦU TIÊN LÀM VIỆC HOÀN HẢOPrivate Sub Worksheet_Change (ByVal Target As Range)
Nếu không Giao nhau (Mục tiêu, Phạm vi ("D1")) thì Không có gì
Chọn phạm vi trường hợp ("D1")
         Trường hợp "0.5": Một nửa
         Trường hợp "1": Một
         Trường hợp "1.25": OneTwentyFive
Kết thúc Chọn
Cuối Nếu
End Sub
MÃ THỨ HAI KHÔNG HOẠT ĐỘNG (làm ơn sửa lại phần bên dưới)
Thay đổi phụ riêng tư (Theo phạm vi mục tiêu ByVal)
Nếu không Giao nhau (Mục tiêu, Phạm vi ("D2")) thì Không có gì
Chọn phạm vi trường hợp ("D2")
         Trường hợp "9.53": chín điểm
Kết thúc Chọn
Cuối Nếu
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
A co jeśli potrzebuję aby po uruchomieniu makra wszystkie listy rozwijane ustawiły się na jeden z wyborów z listy? W sumie odwrotnie do tego co jest w poście. Czy istnieje na đến łatwiejszy sposób?
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL