Cách đánh giá chuỗi dưới dạng mã bằng Excel VBA

Trong bài viết này, UniTrain sẽ hướng dẫn bạn 2 cách để đánh giá chuỗi dưới dạng mã bằng Excel VBA. Để thực hiện thao tác, người dùng sẽ sử dụng hàm EVALUATE trong VBA, vì nó thường chuyển đổi chuỗi thành số hoặc giá trị.

Đánh giá chuỗi dưới dạng mã để tìm kết quả của một ô bằng VBA

Giả sử, người dùng có tập dữ liệu gồm Products của một cửa hàng, Unit Price và Units.

Người dùng phải tìm tổng giá từ tập dữ liệu đó. Thay vì áp dụng công thức (có dấu “=”), bạn chỉ cần chèn chuỗi văn bản của công thức và đánh giá chuỗi đó dưới dạng mã. Người dùng đánh giá từng ô đơn lẻ và tìm kết quả từ chuỗi văn bản.

Cách thao tác:

1. Trước hết, hãy chèn chuỗi không có dấu “=”. Ví dụ Monitor có đơn giá 5000 và bán được 2 chiếc. Nếu sử dụng công thức, bạn nên nhập “=5000*2” để tính tổng giá. Tuy nhiên, người dùng chỉ cần nhập “5000*2” để đánh giá chuỗi này. Bằng cách này, hãy điền tương tự cho các ô còn lại.

VBA Evaluate String as Code

2. Đánh giá các chuỗi này bằng hàm EVALUATE trong VBA. Hãy nhấn ALT+F11 để mở cửa sổ Visual Basic Editor.

3. Chọn Insert > Module để mở cửa sổ Module. Gán mã vào trong cửa sổ đó bằng cách nhập:

Sub TestingEvaluate()
  Dim frng As Range
  Set frng = Range("E5")
  ActiveCell = Evaluate(frng.Value)
End Sub

VBA Evaluate String as Code

Mã này sẽ đánh giá một chuỗi trong ô E5.

4. Sau khi chạy mã, bạn sẽ thấy ô chứa chuỗi “5000*2” đã được chuyển đổi thành 10000. Bằng cách này, bạn có thể đánh giá một chuỗi để nhận kết quả mà không cần áp dụng công thức (tức là dấu “=”).

VBA Evaluate String as Code

Ở đây, mã chỉ áp dụng cho một ô. Nếu bạn muốn áp dụng mã cho nhiều ô, thì phải thay đổi tham chiếu ô và Run để chạy mã.

Sử dụng hàm VBA EVALUATE để định dạng chuỗi

Bạn cũng có thể sử dụng hàm EVALUATE để định dạng chuỗi. Hãy xem xét tập dữ liệu trước đó.

Giả sử,người dùng muốn Bold (in đậm) hàng số 8 (tức là hàng Grand Total) bằng cách sử dụng hàm EVALUATE. Hãy thao tác:

1. Mở cửa sổ Module theo các bước được nêu trong Method 1.

2. Chèn mã:

Sub TestingEvaluateFormat()
  Dim rfBld As String
  Worksheets("Sheet2").Activate
  rfBld = "C8:E8"
  Application.Evaluate(rfBld).Font.Bold = True
End Sub

VBA Evaluate String as Code

Ở đây, người dùng sử dụng C8:E8 làm tham chiếu ô để in đậm giá trị của các ô này.

3. Run mã. Mã sẽ đánh giá chuỗi đó và in đậm các chuỗi được tham chiếu.

Xem thêm

Khóa học Ứng dụng VBA trong Excel

Cách thêm Combo Box trong Excel bằng VBA

Cách mở tệp PowerPoint hiện có từ Excel VBA

Cách tạo mục lục bằng VBA trong Excel

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

1 + 1 = ? (Nhập Haii để trả lời đúng)

Bài viết liên quan
Ứng dụng hàm TEXTJOIN nâng cao trong Excel

1. Giới thiệu hàm TEXTJOIN và IF  Hàm TEXTJOIN trong Excel giúp nối các giá trị từ một phạm vi hoặc danh sách các ô, sử dụng dấu phân cách tùy

Xem thêm
30 tháng Tư rực rỡ, 1/5 ưu đãi bất ngờ

Mừng 50 năm thống nhất Đất nước, UniTrain ưu đãi đến 2.500.000 VNĐ trên học phí gốc cho học viên đăng ký các khóa combo. CÁC COMBO KHÓA HỌC ÁP DỤNG

Xem thêm
Nối các mảng dữ liệu trong Python

Trong quá trình xử lý dữ liệu với pandas, việc kết hợp nhiều bảng dữ liệu là thao tác rất phổ biến. Hàm concat() chính là công cụ mạnh mẽ giúp

Xem thêm
Phân biệt WHERE và HAVING trong SQL

Trong SQL, lọc dữ liệu là một bước quan trọng giúp truy vấn trả về kết quả chính xác và tối ưu hơn. Hai mệnh đề thường được sử dụng để

Xem thêm