Cách dùng tính năng EVALUATE trong VBA Excel

Tính năng EVALUATE trong Excel VBA cho phép người dùng thao tác một công thức được lưu dưới dạng chuỗi. Điều này sẽ hữu ích khi bạn muốn tạo động một công thức dựa trên các điều kiện hoặc một giá trị nhất định.

Công thức:

=Evaluate(Name)

excel vba evaluate function

Giả sử có tập dữ liệu, gồm 7 hàng và 3 cột (Sales, Products, và Price). Ban đầu, người dùng định dạng các ô dưới dạng General và các giá trị tiền tệ được định dạng Accounting. Hãy cùng xem qua 4 ví dụ về cách dùng EVALUATE trong Excel VBA:

1. Dùng tính năng EVALUATE VBA với hàm SUMIFS

Người dùng có thể sử dụng tính năng EVALUATE trong Excel VBA để thao tác hàm SUMIFS được lưu trữ dưới dạng chuỗi bằng cách:

Bước 1: Chọn tab Developer > Visual Basic.

excel vba evaluate function with SUMIFS

Bước 2: Chọn Insert > Module.

Bước 3: Chèn mã:

Public Sub SUMIFS()
Dim Sh_result As Double
Sh_result = Evaluate("SUMIFS(D5:D9,C5:C9,"">450"")")
Range("D10").Value = Sh_result
End Sub

Bước 4: Chọn Developer > Macros.

Bước 5: Chọn SUMIFS > Run. 

Sau đó, kết quả tổng doanh thu sẽ được hiển thị trong bảng dữ liệu (như hình dưới).

2. Dùng tính năng EVALUATE VBA với hàm SUMPRODUCT

Ở ví dụ 2, người dùng sẽ sử dụng VBA EVALUATE với hàm SUMPRODUCT trong Excel bằng cách:

Bước 1: Chọn tab Developer > Visual Basic. 

excel vba evaluate function with SUMIFS

Bước 2: Chọn Insert > Module.

Bước 3: Chèn mã:

Public Sub SUMPRODUCT()
Dim Sh_result As Double
Sh_result = Evaluate("SUMPRODUCT(D5:D9,C5:C9)")
Range("D10").Value = Sh_result
End Sub

excel vba evaluate function with SUMPRODUCT

Bước 4: Chọn SUMPRODUCT > Run. 

Sau khi thao tác, kết quả tổng doanh thu sẽ hiển thị trong ở ô D10 (như hình dưới):

3. Dùng tính năng EVALUATE VBA với hàm COUNTIF

Các bước thao tác dùng EVALUATE VBA với hàm COUNTIF:

Bước 1: Chọn tab Developer > Visual Basic. 

excel vba evaluate function with SUMIFS

Bước 2: Chọn Insert > Module.

Bước 3: Chèn mã:

Public Sub COUNTIF()
Dim Sh_result As Double
Sh_result = Evaluate("COUNTIF(C5:C9,"">100"")")
Range("C10").Value = Sh_result
End Sub

excel vba evaluate function COUNTIF function

Bước 4: Chọn COUNTIF > Run.

Sau đó, kết quả tính số lượng loại hàng có giá trên $100 sẽ hiển thị trong ô C10 (như hình dưới):

4. Dùng tính năng EVALUATE VBA với hàm SUM trong Excel

Ví dụ cuối cùng là cách sử dụng tính năng EVALUATE VBA với hàm SUM trong Excel:

Bước 1: Chọn tab Developer > Visual Basic. 

excel vba evaluate function with SUMIFS

Bước 2: Chọn Insert > Module.

Bước 3: Chèn mã:

Public Sub SUM()
Dim Sh_result As Double
Sh_result = Evaluate("SUM(C5:C9)")
Range("C10").Value = Sh_result
End Sub

excel vba evaluate function with SUM function

Bước 4: Chọn SUM > Run.

Cuối cùng, kết quả tổng giá trị điểm được hiển thị trong ô C10 (như hình dưới):

Qua 4 ví dụ trên, UniTrain hy vọng bạn có thể sử dụng tính năng EVALUATE VBA trong Excel với các hàm như: SUM, COUNTIF, SUMIFS, SUMPRODUCT. Nhìn chung, có đa dạng cách để sử dụng áp dụng chức năng này. Do đó, hãy lựa chọn một cách thao tác phù hợp với mục đích công việc của bạn nhé!

Xem thêm 

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

Hướng dẫn cách dùng VBA Editor cho người mới sử dụng 

Cách dùng tính năng LOOKUP VBA trong Excel

Cách loại bỏ đường liên kết bằng VBA 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
Truy vấn lồng (Subquery) trong SQL – Bí kíp giúp xử lý và truy xuất dữ liệu với mức độ phức tạp cao

Truy vấn lồng (Subquery) là một trong những công cụ hiệu quả trong SQL, giúp xử lý và truy xuất dữ liệu với mức độ phức tạp cao hơn so với

Xem thêm
[HOẠT ĐỘNG CỘNG ĐỒNG] Cuộc thi Doanh nhân tập sự – CLB Kỹ năng Doanh nhân (ACTION CLUB) – CSII Đại học Ngoại Thương TP. HCM (FTU2)

Ngày 21/06/2025 vừa rồi, với danh vị là Nhà tài trợ Học bổng – UniTrain hân hạnh tham dự chung kết cuộc thi Doanh nhân tập sự. Cuộc thi với quy

Xem thêm
Hàm TRIMRANGE() – Hàm xóa giá trị trống “đỉnh” hơn cả TRIM.

Như bạn đã biết hàm TRIM() trong Excel giúp loại bỏ các ký tự trống (khoảng trắng). Tương tự vậy hàm TRIMRANGE() được sử dụng để xóa các giá trị trống khỏi một phạm vi

Xem thêm
[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