Добавить ячейки в диапазоне от всех рабочих листов в книге с помощью VBA в Microsoft Excel
В этой статье мы создадим настраиваемую функцию для вычисления суммы ячеек в заданном диапазоне для всех листов в книге.
Исходные данные для этого примера состоят из нескольких листов. Каждый лист содержит данные отдела продаж, в том числе имя продавца и количество товаров, проданных им на дату, указанную в названии листа.
Данные о продажах представлены в диапазоне A6: B16 в одинаковой последовательности на всех листах.
На «Основном» листе нам нужно общее количество продаж, выполненных разными продавцами. Чтобы рассчитать общее количество продаж, нам нужно сложить количество продаж со всех листов в книге.
Мы использовали пользовательскую функцию SumRangeOfAllSheets для расчета общего количества продаж, сделанных разными продавцами. Специальная функция SumRangeOfAllSheets принимает диапазон в качестве входных данных.
Логическое объяснение
Мы создали настраиваемую функцию SumRangeOfAllSheets для вычисления суммы значений в ячейках в заданном диапазоне для всех листов в книге. Специальная функция SumRangeOfAllSheets принимает диапазон в качестве входных данных. Эта функция добавляет значения в ячейки определенного диапазона всех листов.
Объяснение кода
WorksheetFunction.Sum Объект WorksheetFunction используется для доступа к функциям листов Excel из Visual Basics. Мы использовали функцию СУММ листа Excel, чтобы сложить значения в диапазоне.
InputRange.Address Указанный выше код используется для возврата адреса указанного диапазона объектом диапазона «InputRange».
Пожалуйста, введите код ниже
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
Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]