Thêm các ô trong một phạm vi từ tất cả các trang tính trong sổ làm việc bằng VBA trong Microsoft Excel
Trong bài viết này, chúng tôi sẽ tạo một hàm tùy chỉnh để tính tổng các ô trong phạm vi xác định cho tất cả các trang tính trong sổ làm việc.
Dữ liệu thô cho ví dụ này bao gồm nhiều trang tính. Mỗi trang tính chứa dữ liệu của nhóm bán hàng, bao gồm tên của người bán hàng và số lượng mặt hàng mà anh ta đã bán vào ngày được chỉ định bởi tên trang tính.
Dữ liệu bán hàng có trong phạm vi A6: B16 theo cùng một trình tự trên tất cả các trang tính.
Trên trang tính “Chính”, chúng tôi muốn tổng số lần bán hàng được thực hiện bởi những người bán hàng khác nhau. Để tính tổng số lần bán hàng, chúng ta phải cộng số lần bán hàng từ tất cả các trang tính trong sổ làm việc.
Chúng tôi đã sử dụng chức năng tùy chỉnh “SumRangeOfAllSheets” để tính tổng số lần bán hàng của những người bán hàng khác nhau. Hàm tùy chỉnh “SumRangeOfAllSheets” lấy phạm vi làm đầu vào.
Giải thích logic
Chúng tôi đã tạo hàm tùy chỉnh “SumRangeOfAllSheets” để tính toán tổng giá trị trong các ô trong phạm vi đã xác định cho tất cả các trang tính trong sổ làm việc. Hàm tùy chỉnh “SumRangeOfAllSheets” lấy phạm vi làm đầu vào. Hàm này thêm giá trị trong các ô của phạm vi xác định của tất cả các trang tính.
Giải thích mã
Đối tượng WorksheetFunction.Sum WorksheetFunction được sử dụng để truy cập các chức năng trang tính Excel từ Visual Basics. Chúng tôi đã sử dụng hàm SUM của trang tính Excel để thêm các giá trị trong phạm vi.
InputRange.Address Đoạn mã trên được sử dụng để trả về địa chỉ của phạm vi được chỉ định bởi đối tượng phạm vi “InputRange”.
Vui lòng theo dõi bên dưới để biết mã
Option Explicit Function SumRangeOfAllSheets(InputRange As Range) 'Declaring variables Dim i As Integer Dim Total As Long 'Looping through the sheets in the worksheets collection starting from second sheet For i = 2 To Worksheets.Count 'Calculating the sum for specified range of all the sheets Total = Total + WorksheetFunction.Sum(Worksheets(i).Range(InputRange.Address)) Next SumRangeOfAllSheets = Total End Function
Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.
Chúng tôi rất muốn nghe ý kiến từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]