Hướng Dẫn Cách Gán Công Thức Vào ô Và Tự động Lấy Kết Quả Công ...
Có thể bạn quan tâm
Bạn muốn Excel tự động tính ra kết quả mà không để lại công thức tính? Việc này được thực hiện một cách rất đơn giản thông qua VBA. Hãy cùng Học Excel Online tìm hiểu cách làm ngay nhé.
Tự động gán công thức tính vào ô bằng VBA
Để có thể gán công thức vào trong 1 ô, chúng ta sử dụng thuộc tính Formula. Cách viết như sau:
Sub GanCongThuc()
‘Gan cong thuc vao o A7
Sheet1.Range(“A7”).Formula = “=SUM(A2:A6)”
End Sub
Công macro trên, chúng ta gán hàm SUM tính tổng các ô trong vùng A2:A6 vào ô A7
Khi thực hiện Macro này, Excel sẽ tự động tạo ra công thức =SUM(A2:A6) vào ô A7 mà chúng ta không cần phải viết bằng tay trực tiếp vào ô A7
Hình 1: gán công thức thông thường vào trong 1 ô
Khi sử dụng thuộc tính Formula, chúng ta chú ý những vấn đề sau:
- Áp dụng được cho cả đối tượng là Cells hoặc Range
- Công thức được gán phải bao gồm cả dấu bằng và đặt trong cặp dấu nháy kép
- Nếu trong công thức có chứa sẵn dấu nháy kép thì phải viết 2 lần dấu nháy kép
Hình 2: Gán công thức có sẵn dấu nháy kép trong VBA
Trong hàm IF ở ví dụ trên, cặp từ Yes, No là ký tự text nên được đặt trong cặp dấu nháy kép. Nhưng khi gán công thức này trong VBA, tại mỗi vị trí có sử dụng dấu nháy kép cần đặt trong 1 cặp dấu nháy kép nữa (tức là 2 cặp dấu nháy kép liền nhau).
Mở rộng:
Ngoài ra chúng ta có thể kết hợp thêm phương thức FillDown để có thể fill công thức cho nhiều ô cùng 1 lúc.
Câu lệnh: Sheet1.Range(“B2:B6”).FillDown
Filldown là việc sao chép công thức xuống các dòng phía dưới.
Việc này giúp chúng ta không phải gán công thức vào từng ô nếu công thức tương tự nhau. Khi làm thao tác này sẽ tiết kiệm được thời gian nếu số lượng ô cần gán công thức nhiều.
Tự động lấy kết quả của công thức trong ô bằng VBA
Khi đã gán công thức vào trong ô, chúng ta thu được kết quả của công thức đó. Nhưng làm thế nào để chỉ giữ lại kết quả mà không còn công thức nữa? Cách thực hiện như sau:
Hình 3: Cách lấy kết quả của công thức trong macro VBA
Câu lệnh khá đơn giản: Chỉ cần lấy đúng giá trị của ô chứa công thức và bằng chính nó.
Sheet1.Range(“A7”).value là giá trị trong ô A7, thuộc Sheet1 (code name của sheet)
Như vậy chỉ với 2 bước đơn giản, chúng ta đã có thể tự động thu được kết quả trong ô mà không để lại công thức tính. Việc này thực hiện rất đơn giản và dễ làm đúng không. Nếu bạn chưa giỏi VBA thì hoàn toàn có thể sử dụng cách này.
Ứng dụng của cách làm này:
- Trong những trường hợp công thức đơn giản, dễ viết.
- Hạn chế công thức động, giúp file nhẹ hơn, chỉ lấy kết quả trong những thời điểm nhất định.
- Giấu công thức tính không cho người khác biết (tốt hơn cách dùng Protect/ Hidden)
- Tiết kiệm thời gian nếu cần tính nhiều công thức cùng lúc.
Xem thêm
Cách ẩn và khóa công thức trong Excel 2010, 2013, 2016
Cách ẩn công thức trong Excel
Chuyển công thức Excel sang hàm Vba sử dụng WorkSheetFunction
Từ khóa » Gán Công Thức Vba
-
Hướng Dẫn 2 Cách Gán Công Thức Từ VBA Vào Excel
-
Cách để Excel VBA Tự động điền Công Thức Và Gán Giá Trị
-
Thiết Lập Công Thức Cho Các ô Excel Bằng VBA - Freetuts
-
Viết Công Thức Trong Vba
-
Xem Nhiều 7/2022 # Hướng Dẫn Cách Gán Công Thức Vào Ô Và ...
-
Top 100 Mã Excel VBA Macros Hữu Dụng - Tân Đức ITS
-
Cách Gán Công Thức Chứa Function Trong Vba | Giải Pháp Excel
-
Hướng Dẫn Các Cách Hàm Gán Giá Trị Trong Excel Mới Nhất 2020
-
3 Mẹo để Viết Công Thức Với Macro VBA Trong Excel - .vn
-
Gán Giá Trị Cho 1 ô Trong Excel - Re:Monster
-
Cách Khai Báo Và Sử Dụng Sheets, Range Và Cells Trong Excel Bằng ...
-
Tạo Hàm Vba Trong Excel / TOP #10 Xem Nhiều Nhất & Mới Nhất 7 ...