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
[HOẠT ĐỘNG CỘNG ĐỒNG] Cuộc thi Financial Student Contest (FSC) mùa 13 – CLB Tài chính – Chứng khoán (SeSC) – Đại học Ngoại Thương CSII TP. HCM (FTU2)

Chiều tối ngày 13/06/2025, Chung kết cuộc thi Financial Student Contest (FSC) mùa 13 do CLB Tài chính – Chứng khoán (SeSC) thuộc Đại học Ngoại Thương CSII TP. HCM (FTU2)

Xem thêm
[HOẠT ĐỘNG CỘNG ĐỒNG] Cuộc thi myInsight – MDS Datathon Challenge 2025 – CLB Toán ứng dụng & Khoa học dữ liệu (MDS) – CSII Đại học Ngoại Thương TP. HCM (FTU2)

Chiều ngày 08/06/2025 vừa qua, cuộc thi myInsight – MDS Datarthon Challenge 2025 đã chính thức tiến đến vòng chung kết dưới sự góp mặt của top 5 đội thi xuất

Xem thêm
Cảm nhận học viên khóa Excel for Analysts

“Mình rất hài lòng về tính ứng dụng thực tế và khả năng nâng cao hiệu quả công việc của khóa học.” Anh Nguyễn Trung Hòa – nhân sự ngành Kế

Xem thêm
Một số hàm sắp xếp (Sort) phổ biến trong Numpy

Sắp xếp (Sort) là một thao tác phổ biến trong phân tích dữ liệu và lập trình. Nó liên quan đến việc sắp xếp các phần tử trong một tập hợp theo

Xem thêm