Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA_задания.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
90.96 Mб
Скачать
  1. Написание макроса «ВозрастЧисло»

Необходимо самостоятельно написать макрос для расчета возраста в редакторе Visual Basic (VBA)

Function dhCalculateAge (datDate As Date) As Long

Dim lngAge As Long

' Находим разность между текущей датой и указанной (лет)

lngAge = DateDiff("yyyy", datDate, Date)

If DateSerial(Year(datDate) + lngAge, Month(datDate), _

Day(datDate)) > Date Then

' В этом году день рождения еще не наступил

lngAge = lngAge - 1

End If

dhCalculateAge = lngAge

End Function

Sub ВозрастЧисло()

Dim i As Integer

For i = 4 To 13

Cells(i, 8) = dhCalculateAge(Cells(i, 2))

Next i

End Sub

Рисунок 8 Таблица с результатами после выполнения макроса ВозрастЧисло()

  1. Написание макроса «ВозрастЦвет»

Отметим пациентов разной возрастной категории цветами для наглядности.

Таблица 1. Соответствие между категорией, возрастом и цветом

Категория

Возраст

Присваемый цвет

«Пожилые»

от 60 и выше

коричневый

«Взрослые»

от 18 до 60

синий

«Дети»

от 0 до 18

зеленый

Необходимо самостоятельно написать макрос для разделения на категории по возрасту в редакторе Visual Basic (VBA)

Задать цвет можно несколькими способами

  1. явно

Font.Color = vbBroun

  1. используя индекс цвета

ColorIndex = 53 (когда необходим оттенок цвета)

Создадим макрос для разделения на категории по возрасту с использованием «явного» цвета.

Sub ВозрастЦвета()

Dim i As Integer

For i = 4 To 13

If Cells(i, 8) < 19 Then

Cells(i, 8).Font.Color = vbGreen

ElseIf Cells(i, 8) < 61 Then

Cells(i, 8).Font.Color = vbBlue

Else

Cells(i, 8).Font.Color = vbBroun

End If

Next i

End Sub

Откорректируем созданный макрос, для категории «Пожилые» выберем светло коричневый (индекс = 53)

Sub ВозрастЦвета()

Dim i As Integer

For i = 4 To 13

If Cells(i, 8) < 19 Then

Cells(i, 8).Font.Color = vbGreen

ElseIf Cells(i, 8) < 61 Then

Cells(i, 8).Font.Color = vbBlue

Else

Cells(i, 8).Font.ColorIndex = 53

End If

Next i

End Sub

  1. Написание макроса «ДиабетЦвета»

Необходимо оценить результатам анализа глюкозы натощак, указав категорию и выделив цветом по таблице 2.

Таблица 1. Соответствие между категорией, уровнем глюкозы и цветом

Категория

Результат глюкозы натощак

Присваемый цвет

«Норма»

<5.5

зеленый

«Подозрение»

> 5.5

синий

«Диабет»

> 8

красный

Создадим макрос для оценки результатов анализа глюкозы натощак с разделением на категории с использованием «явного» цвета.

Sub ДиабетЦвета()

Dim i As Integer

For i = 4 To 13

If Cells(i, 5) < 5.5 Then

Cells(i, 9) = "норма"

Cells(i, 9).Font.Color = vbGreen

ElseIf Cells(i, 5) < 8 Then

Cells(i, 9) = "подозрение"

Cells(i, 9).Font.Color = vbBlue

Else

Cells(i, 9) = "диабет"

Cells(i, 9).Font.Color = vbRed

End If

Next i

End Sub

Рисунок 9 Таблица с выходными данными по занятию в классе

Приложение 1 Типы данных и их диапазон значений.

Тип данных

байт

Диапазон значений

Byte (байт)

1

От 0 до 255

Boolean (логический)

2

True или False

Integer (целые)

2

От -32768 до 32767

Long (длинное целое)

4

От -2147483648 до 2147483647

Single (плавающее обычной точности)

4

От -3,402823E38 до -1,401298Е-45

и от 1,401298Е-45 до 3,402823E38

Double (плавающее двойной точности)

8

От -1,79769313486231Е308 до

-4,94065645841247Е-324

и от 4,94065645841247Е-324 до 1,79769313486231Е308

Тип данных

байт

Диапазон значений

Date (время и дата)

8

От 1 января 100 г. до 31 декабря 9999 г.

Object (объект)

4

Любой указатель объекта

String (строка переменной длины)

10+ длина строки

От 0 до приблизительно двух миллиардов

String (строка постоянной длины)

Длина строки

От 1 до 65400

Variant (числовые подтипы)

16

От -1,79769313486232Е308 до

-4,94065645841247Е-324 и от 4,94065645841247Е-324 до 1,79769313486232Е308

Variant (строковые подтипы)

22+ длина строки

От 0 до приблизительно двух миллиардов

Type (определяемый пользователем)

Определяется элементами типа

Диапазон каждого элемента определяется его типом данных

19

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