Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vba.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Как из окна редактора попасть на рабочий лист?

1.Использовать панель задач

2.Щелкнуть на «рабочем листе», который находится за редактором VBA

3.ALT+F11

Замечание: обращаем внимание на то, что при форматировании имени Макроса можно использовать только буквы, цифры и символы, подчеркивания, каждое имя, начиная с буквы.

Где хранятся программы?

Созданная программа, как впрочем, и любая другая программа, записывается в модуле.

Модуль представляет собой место, куда записываются и где хранятся созданные Вами коды( представьте себе модуль космического корабля, где расположены необходимые для работы приборы и оборудование). При создании макроса модуль создаётся автоматически. В одном модуле может сохраняться несколько различных программ. В Вашем проекте может быть несколько различных модулей. Их можно добавлять самостоятельно из редактора VBA. Как это делать мы рассмотрим позднее.

Пример.

Рассмотрим пример, который реализует следующую задачу:

составить программу вычисления функции вида:

x + sinx, если 1< x < 5 (1)

y = ех , если 6< x <8 (2)

неопределенна в остальных точках

y=x+sinx y=ех

1 5 6 8

неопределенна

Блок-схема.

1 .

2.

3 .

да

У=(1)

4

нет

5 да

6

y=(2)

нет

7 да

11

y=ф.н.о ф.н.о

8

нет

9

Программа Разветвление_1

SUB Разветв_1 ( )

‘ ввод х

х=val ( InputBox (“Ввести х”))

‘ val-функция, которая преобразует текст в число

‘ блоки 3,4

IF (х>1) AND (x<5) Then y= х+sin (x)

‘блоки5,6

IF (x>6) AND (X<8) THEN y=EXP (x) ‘експонента x

‘блоки 7,8

IF (x < = 1) OR ((x > = 5) AND (x < = 6)) OR (x > = 8) THEN y=”ф.н.о.”

‘блок 9

MSGBox “ x = “ & x & “ & “y=” & y

END SUB

Рассмотрим ту же задачу, но постараемся ее решить с использованием

Конструкций IF…..THEN – ELSEIF…..ЕND IF

1

2

да

3

4

y=(1)

нет

у=(2)

да

5

6

нет

7

у= ф.н.о

8

9

SUB Разветвление 2

x = VAL (InputBox (“Ввести х “))

IF x >1 AND x<5 THEN ‘начало блока IF

y = x + sin(x)

ELSE IF x >6 AND x <8 THEN

y = EXP (x)

ELSE

у= «ф.н.о»

END IF ‘окончание IF

MSGBox “x =” & x & “ y =” & y

END SUB

Обратите внимание, как сжался и упростился код программы.

Контрольный пример

Х = 4 Y = 4+sin(4) =3.8

Х = 7 Y = e7=1097

Х = 5.5 ФНО

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]