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
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
Mừng ngày Giỗ Tổ – Bùng nổi ưu đãi

Nhân ngày Giỗ Tổ Hùng Vương, UniTrain giảm thêm 130.000đ trên ưu đãi đóng sớm khi đăng ký tất cả các khóa học ở UniTrain. MỘT SỐ CÁC KHÓA HỌC LẺ

Xem thêm
Khám phá tính năng Text Slicer trong Power BI

Bộ lọc văn bản (Text Slicer) là một công cụ lọc nâng cấp, được thiết kế đặc biệt để hoạt động với các trường văn bản. Khác với bộ lọc truyền

Xem thêm
Ưu đãi tháng 03/2025

08/03 NÂNG TẦM KỸ NĂNG – RINH QUÀ NGỌT NGÀO Nhân ngày Quốc tế Phụ nữ 08/03, UniTrain gửi tặng quý học viên CẶP VÉ XEM PHIM CGV 🎟️ khi đăng

Xem thêm