Функция сводки данных Excel и VBA
Изучение того, как использовать функцию «Сводка результатов» Excel из встроенного языка программирования VBA или Visual Basic для приложений, поможет вам запускать любую функцию Excel из VBA. Этот навык полезен, потому что в Excel есть много функций, которых нет в VBA и которые вам может понадобиться применить из программы VBA. Обратите внимание, что функция VBA, которая позволяет использовать функцию «Сводка результатов», не будет предупреждать вас о неправильном синтаксисе или аргументе, как при использовании стандартного интерфейса рабочего листа.
Цель
Функция Excel «Округление» округляет число в большую сторону до указанного вами числа цифр. Например, запуск «Округлить (2,2, 0)» сообщает Excel, что вы хотите округлить число 2,2 до следующего целого числа. «0» во втором аргументе сообщает Excel, что вам не нужны цифры после запятой, что равносильно тому, что вам нужен целочисленный ответ.
Функция раунда VBA
VBA не имеет встроенной функции «Округление». Ближайшая функция, которую он имеет, — это функция «Округление», которая округляет в большую или меньшую сторону в зависимости от того, больше или меньше конечная цифра в округляемом числе 5. Например, ввод «Округлить (2.2, 0)» в окне «Немедленная обработка» VBA приводит к результату 2 вместо 3, до которых функция Excel «Округление» округлила бы в большую сторону.
Свойство "Формула"
Хотя в VBA нет собственной функции «Округление», он может использовать функцию «Округление» Excel. Чтобы указать VBA сделать это, установите для свойства «Формула» виртуального объекта «Диапазон» функцию «Сводка». В следующем примере показано, как это сделать. Откройте среду разработки VBA, одновременно нажав «Alt» и «F11» в Excel. Щелкните мышью в окне «Немедленно», затем введите следующий оператор:«Диапазон («A1»). Формула =«=Округление (2.2, 0)».» Вернитесь в Excel, используя только что описанное нажатие клавиши «Alt-F11». . Вы увидите результат "3" в ячейке A1, указывающий на то, что в вашем заявлении успешно применена функция Excel "Округление".
Интерактивный пример
Вы можете создать интерактивную программу VBA, которая принимает от пользователя аргументы для функции «Сводка результатов» и отображает результат этой функции. После открытия среды разработки VBA вставьте в окно следующую программу:
Public Sub roundUpANumber() Dim a1, a2, s a1 =CDbl(InputBox("Введите число, которое вы хотите округлить")) a2 =CInt(InputBox("Введите количество десятичных знаков, до которого вы хотите округлить число, которое вы только что ввели.")) s ="=Roundup(" &a1 &"," &a2 &")" Range("A1").Formula =s Range("A1").Calculate MsgBox (Range( "A1").Value) End Sub
Запустите программу, щелкнув один из ее операторов, а затем щелкнув команду «Выполнить» в меню «Выполнить». Когда Excel запросит у вас аргументы функции, введите их и нажмите «Ввод». Ваша программа отобразит результат функции "Округление" для введенных вами аргументов.