Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение примеры по VBA.doc
Скачиваний:
11
Добавлен:
22.09.2019
Размер:
1.99 Mб
Скачать

Округление чисел

      Округлять десятичные числа приходится часто, особенно при работе с денежными значениями. VBA не предлагает прямого решения таких задач, но обсуждаемые ниже приемы помогут решить эти проблемы.        1 способ       Функция Round       Пример:

      X= round(2.505, 2)

      Значение х будет 2,5, а не 2,51.       Поэтому часто не используется.        2 способ       Функция Format       Пример:

      sngОкругление=Format(SngНеокругленное, “#, 0.00”)

       3 способ       Функция FormatNumber

      SngОкругление= FormatNumber(sbgНеокругленное, 2)

      Для изменения знаков после запятой измените число нулей после десятичной точки в аргументе Format, либо измените число, задающее значение второго аргумента, на нужное.        Примечание.Переменная, в которую помещается округленное значение, должна иметь тип string, single, double, decimal, currency или variant, но не тип integer или long.

Приведение данных

      Для приведения введенных данных к нужному типу в VBA включен обширный набор функций, одна из которых – CDBL. Синтаксис:

      CDbl(выражение)

      Обязательный аргумент выражениеявляется любым строковым или числовым выражением. Для считывания информации, введенной в текстовое поле в созданной форме, вводят переменную и прописывают выражение:

      А = Cdbl(textBoxN.text)

      После чего с данной переменной можно работать.       Для выведения значений непосредственно в ячейки книги Excel удобно использовать объект Range:

      range(«A5»).value = a

      Функцией, обратной по действию к CDbl, является функция CStr – она переводит числа в строки и удобна для вывода результата либо в ячейку на лист, либо в то или иное текстовое окно.

      TextBoxN.text = CStr(.Range(«A8»).value)

      – считывание значения с ячейки и вывод его в текстовое окно.       Функция Trim (строка) возвращает копию строки, из которой удалены пробелы, находящиеся в начале и конце строки.

Создание vba-программ

       Использование метода GoalSeek        Пример 41. Разработать программу, которая по введенным числовым значениям некоторого уравнения решает данное уравнение и находит неизвестную переменную х. Результат вычисления выводится в текстовое окно на форме и на лист Excel.  

       Рис. 92.Разработанная форма примера 41 в рабочем состоянии          Технология выполнения       1. Запустите приложение Excel, сохраните документ.       2. Перейдите в редактор VBA.       3. Создайте форму согласно приведенному рис. 92.       4. На листе Excel расположите необходимый текст (оформление), предусмотрев соответствующие ячейки вывода информации (рис. 93).  

       Рис. 93.Вывод результатов на лист excel после запуска формы примера 41       5. Обработайте кнопки.        Кнопка Вычислить

      Private Sub CommandButton1_Click()       Dim a, b, c As Double       a = CDbl(TextBox1.Text)       b = CDbl(TextBox2.Text)       c = CDbl(TextBox3.Text)       With ActiveSheet       Range(«b3»).Value = a       Range(«b4»).Value = b       Range(«b5»).Value = c       Range(«b6»).FormulaLocal = «=b3*b7^3+b4*sin(b7)»       Range(«b6»).GoalSeek Goal:=c, changingCell:=Range(«b7»)       TextBox4.Text = CStr(.Range(«b7»).Value)       TextBox4.Text = FormatNumber(TextBox4.Text, 2)       End With       End Sub

       Кнопка Закрыть

      Private Sub CommandButton2_Click()       UserForm1.Hide       End Sub

       Процедура инициализации формы

      Private Sub UserForm_initialize()       Worksheets(1).Visible = False       End Sub