Viết công thức trong Excel là một việc tốn nhiều thời gian và hay phải lặp đi lặp lại. Vậy tại sao chúng ta không sử dụng VBA để làm việc đó trở nên nhanh chóng, đơn giản hơn? Hãy cùng Học Excel Online tìm hiểu 2 cách gán công thức từ VBA vào Excel ngay nào.
Xem nhanh
Đây là một cách đơn giản, dễ thực hiện với những ai chưa biết tự viết code trong VBA. Việc cần làm chỉ là:
Ví dụ như sau:
Khi ghi lại Macro thực hiện hàm SUM tại ô A7 tính tổng cho vùng A2:A6 ta thu được đoạn code:
ActiveCell.FormulaR1C1 = “=SUM(R[-5]C:R[-1]C)”
Đoạn code này hiểu thế nào?
ActiveCell: là ô được kích hoạt, ô đang được chọn. Ở đây ô đang được chọn là ô A7.
FormulaR1C1 là thuộc tính gán công thức vào Cells/Range dưới dạng tham chiếu R1C1 trong Excel
=SUM(R[-5]C:R[-1]C) là nội dung công thức được gán, trong đó:
Như vậy công thức này tương đương với =SUM(A2:A6)
Khi sử dụng Record Macro thì luôn cho chúng ta dạng FormulaR1C1. Dạng này nếu không quen đọc thì sẽ khó khăn cho chúng ta khi xác định nội dung công thức.
Xem thêm: Hướng dẫn cách chuyển kiểu tham chiếu R1C1 trong Excel
Chúng ta có thể dựa vào cách Record Macro để biết nguyên tắc VBA gán công thức vào trong Excel như thế nào. Nhưng cách đó thường không áp dụng nhiều, bởi tham chiếu R1C1 khó viết.
Do vậy chúng ta có thể sử dụng thuộc tính Formula (không phải FormulaR1C1) và viết trực tiếp trong cửa sổ viết code của VBA.
Cú pháp khá đơn giản, gồm 3 phần:
Ví dụ như sau:
Nhưng việc này cần chú ý những nội dung gì? Các bạn có thể đọc thêm tại bài viết:
Hướng dẫn cách gán công thức vào ô và tự động lấy kết quả công thức Excel VBA