Программа для табулирования функции на рабочем листе

Элементы управления Переключатель (OttionButton) и Флажок (CheckBox).

Лекция 3

Переменная

Понятие «переменная используется для временного хранения данных в оперативной памяти. Переменная идентифицирует определенную область ОП – несколько байт, в которых и хранятся данные. Программист не должен явно указывать адреса ячеек ОП, достаточно указать имя переменной. Связь между переменной и ячейками ОП производится на этапе трансляции программы.

Для описания переменных используется оператор Dim <имя переменной> as <тип переменной>

Допустимые типы переменных приведены в таблице

Типы переменных, используемых в VBA

Тип Размер (байт) Диапазон значений
Byte (байт)   От 0 до 255
Boolean (логический) 1 бит True / False
Integer (целое)   От -32765 до 32767
Long (длинное целое)   От -2147488648 до 2147488647
Single (с плавающей точкой обычной точности   От -3,402823 Е38 до -1,401298 Е-46 – отрицат. От 1,401298 Е-46 до 3,402823 Е38 – положит.
Double (с плавающей точкой двойной точности)   От -1,798 Е 308 до -4,941 Е-324 – отрицат. От 4,941 Е-324 до 1,798 Е 308 – положит.
Date (дата)   От 1 января 100 г. До 31 декабря 9999 г.
String (строка) Длина строки  
Variant    

Пример:

оператор Dim x as Single означает, что для вещественной переменной х зарезервировано 4 байта ОП,

оператор Dim j as Integer означает, что для целой переменной j отводится 4 байта ОП

Если переменная никак не описана, то по умолчанию ей присваивается тип Variant.

Элементы управления Переключатель позволяет выбрать одну из нескольких взаимоисключающих альтернатив. Переключатели обычно отображаются группами при помощи элемента управления Рамка. Событиями этого элемента являются действия Click и Change, свойство Caption (название) отражает комментарий для пользователя, а свойство Value (значение) может быть равно True (истина) или False (ложь). При работе с переключателем удобно использовать условный оператор:

If OptionButton1=True Then

<операторы 1>

Else

<операторы 2>

End If.

Элемент управления Флажок позволяет установить несколько одновременно выполняемых действий. Основные события и свойства такие же, как и у Переключателя.

В приведенном ниже тексте программы с помощью переключателей выбирается одна из

трех функций y(x), g(x) или f(x) и формируется таблица значений выбранной функции. Эти функции должны быть предварительно созданы в стандартном модуле как пользовательские функции. С помощью флажков можно вывести сумму значений функции и количество строк в таблице.

НА листе содержание создать следующие элементы управления:

Элемент управления Свойство Name Свойство Caption
Кнопка CommandButton) CmdTab Табулирование
Переключатель (OptionButton) OptY Функция Y
Переключатель (OptionButton) OptG Функция G
Переключатель (OptionButton) OptZ Функция Z
Флажок (CheckBox) CheckSum Сумма значений функции
Флажок (CheckBox) CheckNumber Количество строк в таблице

Создается в модуле листа «Содержание», связана с кнопкой CmdTab.

Private Sub CmdTab_Click()

Dim x As Double, x0 As Double, xk As Double, dx As Double

Dim i As Integer

Dim c As Range

x0 = InputBox("Введите X0", "Ввод начального значения X", 0)

xk = InputBox("Введите XK", "Ввод конечного значения X", 1)

dx = InputBox("Введите DX", "Ввод приращения X", 0.1)

Range("A:b").Clear ‘ очистить колонки А и В

Range("a1:b1").Borders.LineStyle = 12 ‘Границы диапазона А2:В2 – двойная линия

Range("a1:b1").Interior.Color = RGB(255,0,0) ‘Цвет фона диапазона А2:В2 - красный

Range("A1") = "x": Range("b1") = "y"

x = x0

i = 2

Do While x <= xk

i = i + 1

Cells(i, 1) = x

If OptY Then Cells(i, 2) = y(x)

'If OptG Then Cells(i, 2) = g(x)

'If OptZ Then Cells(i, 2) = z(x)

x = x + dx

Loop

‘ Вычисление суммы

Dim summa As Double

If CheckSum Then

Cells(i + 1, 1) = "Сумма="

For j = 3 To i

summa = summa + Cells(j, 2)

Next j

Cells(i + 1, 2) = summa

End If

‘ вывод количества строк

If CheckNumber Then

MsgBox ("количество строк в таблице= " + CStr(i - 1))

End If

For Each c In Range("a3:b13").Cells

If c.Value <= 0 Then

c.Interior.Color = QBColor(8)

Else

c.Interior.Color = QBColor(7)

End If

Next

End Sub


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: