Рабочий лист функции в VBA макросов с помощью VBA в Microsoft Excel
В VBAcode, если вам нужно обратиться к определенным функциям рабочего листа, таким как Sum, Vlookup и т. Д., Вы можете использовать их напрямую, используя объект Application. Поэтому мы будем использовать функции как – Application.WorksheetFunction.Sum или Application.WorksheetFunction.Vlookup, где WorksheetFunction — это метод объекта Application.
Учитывая, что у нас есть этот тестовый макрос, если мы введем Application.WorksheetFunction.
У нас появится всплывающее окно с формулой, приведенной ниже на изображении
Так, например, если вы хотите суммировать значения этого диапазона в столбце A, используя vba —
У нас есть переменная с именем SalesTotal, которая будет сохранять в ней сумму. Чтобы получить сумму в SalesTotal, мы будем использовать следующий код VBA в стандартном модуле:
_Sub macro4 ()
Уменьшить размер SalesTotal по мере увеличения SalesTotal = Application.WorksheetFunction.Sum (Range («A2: A6»))
MsgBox SalesTotal End Sub_ Чтобы скопировать приведенный выше код в свой файл, * нажмите Alt + F11 на клавиатуре.
-
С левой стороны вы увидите объекты Microsoft Excel.
-
Щелкните правой кнопкой мыши и выберите «Вставить».
-
Затем нажмите «Модуль».
-
Скопируйте код в окно кода справа.
Когда мы используем этот пример макроса, мы получим сообщение, показывающее значение, которое хранится в Sales Total и может использоваться в следующих строках кода в макросе.
В результате мы получим —
Если вы хотите, чтобы SalesTotal отображался в ячейке A7, вы можете изменить кодовую строку с Msgbox SalesTotal на Worksheets («Sheet1»). Range («A7»). Value = SalesTotal. Учитывая, что нам также нужны средние продажи для этих цифр в ячейке А9.
Мы можем использовать приведенный ниже код __Sub macro5 ()
Dim SalesTotal As Long With Worksheets («Sheet1»)
SalesTotal = Application.WorksheetFunction.Sum (.Range («A2: A6»))
End With End Sub__ В этом коде есть небольшие изменения по сравнению с предыдущим.
-
Вместо того, чтобы использовать переменную для среднего значения, я напрямую подставил это значение после вычисления в ячейку A9. Следовательно, вы увидите строку .Range («A9»). Value = Application.WorksheetFunction.Average (.Range («A2: A6»))
-
Строка msgbox была удалена.
-
Значение переменной SalesTotal переходит в ячейку A7.
-
В идеале вы можете повторить ту же строку кода, которая использовалась для среднего, для строки кода суммы, заменив SalesTotal = Application.WorksheetFunction.Sum (.Range («A2: A6»)) _ _.Range («A7 ») .Value = SalesTotal With _.Range (« A7 »). Value = Application.WorksheetFunction.Sum (.Range (« A2: A6 »)) _ Однако он был сохранен, чтобы вы могли понять различные способы кодирование той же задачи. Точно так же мы можем использовать другие функции при использовании Application.WorksheetFunction. Все те функции, которые мы можем использовать на листе напрямую, мы можем использовать здесь.
Это упрощает использование функций в коде, поэтому мы можем вычислять необходимые формулы без необходимости создавать код для формулы.
_ _ Если вам понравились наши блоги, поделитесь ими с друзьями на Facebook. А также вы можете подписаться на нас в Twitter и Facebook .
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам на [email protected] __