Làm thế nào để chạy macro dựa trên giá trị ô trong Excel?
Giả sử, tôi có nhiều mã macro trong sổ làm việc của mình và bây giờ, tôi muốn chạy các mã này dựa trên giá trị ô. Bài viết này, tôi sẽ nói về một số tình huống bạn có thể gặp phải trong công việc hàng ngày khi sử dụng Excel.
Chạy hoặc kích hoạt macro nếu giá trị ô lớn hơn hoặc nhỏ hơn một giá trị cụ thể với mã VBA
Chạy hoặc kích hoạt macro nếu giá trị ô bằng văn bản cụ thể với mã VBA
Chạy hoặc kích hoạt macro nếu giá trị ô lớn hơn hoặc nhỏ hơn một giá trị cụ thể với mã VBA
Ví dụ: nếu giá trị trong ô A1 nằm trong khoảng từ 10 đến 50, hãy chạy macro1 và nếu giá trị lớn hơn 50, hãy chạy macro2. Để giải quyết công việc này trong Excel, vui lòng áp dụng mã VBA sau.
1. Bấm chuột phải vào tab trang tính mà bạn muốn thực thi macro dựa trên giá trị ô, sau đó 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 nếu giá trị ô lớn hơn hoặc nhỏ hơn:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Cells.Count > 1 Then Exit Sub
If IsNumeric(Target) And Target.Address = "$A$1" Then
Select Case Target.Value
Case 10 To 50: Macro1
Case Is > 50: Macro2
End Select
End If
End Sub
Chú thích: Trong đoạn mã trên:
A1 là ô chứa giá trị cụ thể mà bạn muốn chạy macro dựa trên;
Trường hợp 10 đến 50: Macro1: nghĩa là nếu giá trị nằm trong khoảng từ 10 đến 50, hãy chạy Macro1;
Trường hợp> 50: Macro2: nghĩa là nếu giá trị lớn hơn 50, hãy chạy Macro2.
Vui lòng thay đổi tên và tiêu chí macro của chủ đề này theo nhu cầu của bạn và bạn cũng có thể thêm các tiêu chí khác sau Khay kịch bản.
2. Sau đó lưu và đóng cửa sổ mã này, bây giờ, khi giá trị bạn nhập từ 10 đến 50 trong ô A1, Macro1 sẽ được kích hoạt, nếu giá trị nhập lớn hơn 50, Macro2 sẽ được thực thi.
Chạy hoặc kích hoạt macro nếu giá trị ô bằng văn bản cụ thể với mã VBA
Ví dụ: nếu bạn muốn kích hoạt macro dựa trên văn bản cụ thể trong một ô, để chạy macro1 nếu nhập văn bản “Xóa” và chạy macro2 nếu nhập văn bản “Chèn”. Đoạn mã sau có thể giúp bạn một việc.
1. Bấm chuột phải vào trang tính mà bạn muốn thực thi macro dựa trên giá trị ô, sau đó 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 nếu giá trị ô là một văn bản cụ thể
Sub worksheet_change(ByVal target As Range)
Set target = Range("A1")
If target.Value = "Delete" Then
Call Macro1
End If
If target.Value = "Insert" Then
Call Macro2
End If
End Sub
Chú thích: Trong đoạn mã trên, “Xóa bỏ"Và"Chèn”Là các văn bản ô mà bạn muốn chạy macro dựa trên và vĩ mô1 và vĩ mô2 là các macro bạn muốn thực thi dựa trên văn bản. Vui lòng thay đổi chúng theo nhu cầu của bạn.
2. Sau đó lưu mã này và đóng cửa sổ, bây giờ, khi bạn nhập văn bản “Xóa” vào ô A1, macro1 sẽ được kích hoạt, nếu nhập văn bản “Chèn”, macro2 sẽ được thực thi.
Các bài liên quan:
Làm thế nào để chạy macro khi giá trị ô thay đổi trong Excel?
Làm cách nào để chạy macro tự động trước khi in trong Excel?
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?
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ông cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
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!