Cách để Excel VBA tự động điền công thức và gán giá trị

Lực td19/04/2023

Bằng cách tự động điền công thức, tự động lấy kết quả và gán giá trị Excel này thì chúng ta chắc chắn sẽ tiết kiệm nhiều thời gian trong quá trình làm việc. Để làm được những thao tác này hoàn toàn tự động, chúng ta sẽ cần sử dụng đến VBA (Virtual Basic of Application) trong Excel. Và trong bài viết này, Gitiho.com sẽ giúp các bạn thực hiện những cài đặt này vô cùng nhanh chóng.

Sử dụng VBA để tự động lấy kết quả công thức

Những thao tác để VBA tự động lấy kết quả công thức

Với cách tự động lấy kết quả công thức này chúng ta chỉ giữ lại kết quả chứ không hiển thị công thức được điền trong ô nội dung. Ngoài ra, cách này cũng rất dễ tiếp cận với người chưa quen sử dụng VBA bởi chỉ có 2 bước duy nhất.

Cách để Excel VBA tự động điền công thức và gán giá trị

Đầu tiên ta cần lấy kết quả của ô chứa công thức và bằng chính nó

Câu lệnh chính xác trong trường hợp này là Sheet1.Range(“A7”).value

Những thành phần 

Trong đó có những thành phần như sau:

- A7 tức là giá trị thuộc ô A7

- Sheet1 là mã tên của sheet ta đang sử dụng

Đọc thêm: Hướng dẫn cách thêm drop-down list với dấu tick và dấu cross trong Excel sử dụng mã VBA

Tác dụng của việc tự động lấy kết quả công thức từ VBA

Như vậy ta đã hoàn thành xong cách thu kết quả của công thức tính mà không để lại phép tính. Vậy tại sao chúng ta cần phải loại bỏ công thức tính trong bảng tính Excel? Và đây là một số lí do:

- Giúp file bảng tính nhẹ hơn bình thường bằng cách giảm bớt công thức động

- Đơn giản cho người mới sử dụng VBA

- Tiết kiệm thời gian nếu như phải dùng nhiều công thức

- Trong một số trường hợp thì còn giấu công thức không cho người lạ biết

Xem thêm khóa học: VBAG01 - Tuyệt đỉnh VBA - Viết code trong tầm tay

Dùng VBA để tự gán giá trị trong Excel

Công thức để VBA tự động gán giá trị trong Excel

Để bắt đầu tự gán giá trị vào Excel, ta cần sử dụng tới thuộc tính Formula. Cụ thể cách viết công thức này như sau

Sub GanCongThuc()

‘Gan cong thuc vao o A7

Sheet1.Range(“A7”).Formula = “=SUM(A2:A6)”

End Sub

Đối với nhiều bạn đọc chưa biết thì đây là một sub Macro, nếu bạn chưa tìm hiểu về Macro thì Gitiho.com đã có một số bài viết hướng dẫn rất dễ hiểu về ý nghĩa và cách sử dụng Macro.

Từ sub Macro trên, ta sẽ sử dụng vào hàm SUM để tính tổng các ô trong vùng A2:A6 vào ô A7

Đọc thêm: Hướng dẫn tìm kiếm và lọc dữ liệu tự động bằng Textbox trong Excel VBA

Cách để Excel VBA tự động điền công thức và gán giá trị


 

Một số lưu ý khi gán giá trị tự động trong Excel bằng VBA 

Tuy nhiên, như đã đề cập ở trên là ta sẽ cần phải dùng đến thuộc tính Formula, vậy nên có một số điều ta cần chú ý khi gán giá trị trong Excel như sau:

- Chẳng hạn trong công thức có sẵn dấu nháy kép thì phải thêm 2 lần dấu nháy kép

- Sử dụng được cả cho Range, Cell

-  Công thức gán hay gán giá trị Excel vào thì phải có dấu nháy kép và dấu bằng

EXG01 - Tuyệt đỉnh Excel - Trở thành bậc thầy Excel trong 16 giờ 

Cách để Excel VBA tự động điền công thức và gán giá trị

Đối với hàm IF trên, kết quả trả ra là YES hoặc NO dưới dạng văn bản nên phải đặt trong nháy kép. Nhưng ta cần lưu ý khi chuyển qua VBA thì cần 2 dấu nháy kép liền nhau như ảnh minh hoạ trên. 

Bên cạnh đó ta cũng có thể sử dụng FillDown để điền nhiều công thức liên tục để gán giá trị Excel

Để sử dụng FillDown, ta sẽ dùng câu lệnh sau Sheet1.Range(“B2:B6”).FillDown

Cách để Excel VBA tự động điền công thức và gán giá trị

Với cách FillDown này thì sẽ giúp người dùng không cần gán một công thức hay gán giá trị Excel giống nhau vào nhiều ô bằng tay, tiết kiệm thời gian nếu như số lượng công thức quá nhiều.

Qua bài viết này, Gitiho.com mong rằng bạn đọc sẽ áp dụng tốt cách gán giá trị Excel trong công việc để hoàn thành tiến độ nhanh hơn bình thường.

Khóa học liên quan

5/5 - (2 bình chọn)

5/5 - (2 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông