Nhập công thức trong một phạm vi ô bằng macro VBA

Anonim

Đây là cách sử dụng macro để điền vào một dải ô với công thức bạn chọn

Bằng cách sao chép hoặc sử dụng chức năng Tự động điền, Excel cung cấp cho bạn nhiều tùy chọn để chuyển công thức từ một ô sang một phạm vi ô. Nhưng làm thế nào để bạn làm điều đó thông qua một macro?

Điều này đặc biệt hữu ích nếu bạn muốn tạo bảng hoặc danh sách tự động bằng macro. Ở đây bạn cần một cách để điền vào các ô bằng công thức.

Hình sau đây cho thấy một danh sách các số doanh nghiệp. Bạn muốn thêm các hàm tính tổng vào cột D của danh sách này để thêm các giá trị từ các cột A, B và C.

Sử dụng macro VBA để thực hiện công việc này. Trước tiên, hãy mở sổ làm việc mà bạn muốn bao gồm macro. Sau đó nhấn tổ hợp phím ALT F11 để khởi động trình soạn thảo VBA. Sau đó chọn chức năng INSERT - MODULE. Sau đó nhập macro sau:

Sub SummenPerMakro ()
Làm mờ ô dưới dạng phạm vi
Dim Nr As Long
Đối với mỗi ô trong ActiveSheet.Range ("d2: d10")
Không = Cell.Row
Cell.FormulaLocal = "= SUM (A" & Nr & ": C" & Nr & ")"
Ô tiếp theo
Kết thúc Sub

Marko xử lý phạm vi ô D2: D10 trong trang tính đang hoạt động. Các ô được lặp qua từng ô. Macro sử dụng thuộc tính FORMULALOCAL để nhập công thức tính tổng vào mỗi ô này.

Trong công thức này, các khu vực được thêm vào sẽ được điều chỉnh trong mỗi dòng. Ở dòng 2 là A2: C2, ở dòng 3 là A3: C3, v.v.

Công thức thực hiện điều này bằng cách sử dụng biến NR để truy vấn số dòng hiện tại trong vòng lặp bằng cách sử dụng thuộc tính ROW. Sau đó, macro dần dần soạn công thức tổng từ các thành phần văn bản riêng lẻ.

Hình dưới đây cho thấy kết quả sau khi khởi động macro. Để bắt đầu, hãy sử dụng tổ hợp phím ALT F8 trong Excel và chọn macro SUMMENPERMAKRO.

Có nhiều cách khác để thực hiện công việc thông qua macro. Một biến thể là sử dụng macro để nhập công thức chỉ trong một ô và sau đó sao chép nó để Excel có thể điều chỉnh các tham chiếu một cách độc lập.