А

В

С

D

Е

1

2

1,5

-21

3

Количество положительных значений

3

0

6

2

Количество нулевых значений

4

9

0

3

Количество отрицательных значений

5

11

-7

Рис. 6.1. Результаты обработки диапазона В2:С5

Для этого:

а) перейдите из Excel в среду программирования VBA;

б) добавьте в рабочую книгу новый модуль и в окне редактиро­вания модуля наберите команды:

Public Sub Диапазон_ячеек()

' В макросе используются следующие переменные:

' КР - количество положительных значений

' KNколичество нулевых значений

' КО — количество отрицательных значений

' NR - число строк в выделенном диапазоне

' NCчисло колонок в выделенном диапазоне

' NumO/Row - номер строки первой ячейки диапазона

' NumOfCol - номер колонки первой ячейки диапазона

' Item - значение текущей ячейки

' i - номер текущей строки диапазона

' j - номер текущей колонки диапазона

Dim КР As Integer, KN As Integer, КО As Integer

Dim NR As Integer, NC As Integer

Dim NumOfRow As Integer, NumOfCol As Integer
Dim Item As Variant, i As Integer, j As Integer
NR = Selection. Rows. Count
NC = Selection. Columns. Count
NumOfRow = Selection. Row
NumOfCol = Selection. Column
' Цикл For i... Next i является внешним по
' отношению к циклу Forj ... Nextj
For i = 1 To NR ' Цикл по строкам

' Цикл Forj ... Nextj является вложенным

' по отношению к циклу For i... Next i

Forj = 1 To NC ' Цикл по колонкам

Item = Selection. CeIls(i, j)

If IsNumeric(Item) Then ' Если значение в ячейке - числовое

If Item > 0 Then

КР = КР+1

НЕ нашли? Не то? Что вы ищете?

Selection. Cells(i, j).Font. Color = vbRed

End If

If Item = 0 Then KN = KN + 1

If Item < 0 Then КО = КО + 1

End If

Nextj

Next i

' Запись результатов на рабочий лист

' в смежную с выделенным диапазоном колонку Cells(NumOfRow, NumOfCol + NC) = КР

Cells(NumOfRow, NumOfCol + NC + 1) = _

"Количество положительных значений" Cells(NumOfRow + 1, NumOfCol + NC) = KN Cells(NumOfRow + 1, NumOfCol + NC + 1) = _

"Количество нулевых значений"

Cells(NumOfRow + 2, NumOfCol + NC) = КО Cells(NumOfRow + 2, NumOfCol + NC + 1) = _

"Количество отрицательных значений"

End Sub

2.  Вернитесь в Excel, заполните различными данными диапазон ячеек A2:D6, выделите диапазон и выполните макрос. Как выглядит
таблица после работы макроса?

3.  Цикл Forj = 1 То NC... Nextj является вложенным по отноше­нию к циклу For i = 1 То NR... Next i. Это означает, что вначале будут последовательно перебираться ячейки с номерами (1, 1), (1, 2) ... (1, NC) при i = 1, затем - (2, 1), (2, 2) ... (2, NC) при i = 2 ..., и т. д. до ячеек с номерами (NR, 1), (NR, 2) ... (NR, NC) при i = NR. Какое значение переменных i и] соответствует ячейке с адресом ВЗ?

4.  Самостоятельно составьте макросы для решения задач из числа
приведенных в приложении G согласно своего варианта.

5.  Запишите составленные макросы в модуль, заполните различ­
ными данными диапазон ячеек СЗ:Е7 для первого макроса и G2:J5
для второго макроса и выполните каждый макрос, предварительно
выделив нужный диапазон. Текст макросов, контрольные примеры и
результаты приведите в отчете по лабораторной работе.

Контрольные вопросы и задания:

1.  В какой переменной будут чаще изменяться значения (i или j) в макросе "Диапазон_ячеек"?

2.  Какие изменения следует внести в макрос, чтобы вместо выделения числа цветом изменялся цвет фона ячейки?

3.  Какие значения принимают переменные NR и NC в макросе, если выделить диапазон А1:С4?

4.  Каким образом следует изменить команду "For i = 1 То NR", чтобы выбирать только нечетные строки выделенного диапазона?

5.  Каким образом следует изменить команду "For j = 1 То NC", чтобы выбирать только четные колонки выделенного диапазона?

6.  Объясните назначение команд составленного вами макроса.

ЛАБОРАТОРНАЯ РАБОТА №7

ВЛОЖЕННЫЕ КОМАНДЫ ВЫПОЛНЕНИЯ

ДЕЙСТВИЙ ПО УСЛОВИЯМ

Цель: Научиться составлять процедуры-функции с разветвляющими­ся вычислениями.

УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ

1. В данной лабораторной работе необходимо составить функцию,
которая проверяет возможность построения треугольника по задан­ным значениям его сторон. Если треугольник существует, опреде­лить, является ли он равносторонним. Для этого:

а) перейдите из Excel в среду программирования VBA;

б) добавьте модуль и в окне редактирования модуля наберите
следующие команды:

Function Тип_Треугольника 1 (а, Ь, с)

' а, Ъ и с — стороны треугольника

If a + b > с And а + с > b And b + с > a Then

If a = b And b = c Then

Тип_Треугольника1 = "Треугольник равносторонний"

Else

Тип_Треугольника1 = "Треугольник неравносторонний"

End If Else

Тип_Треугольника1 = "Треугольник не существует"

End If

End Function

2. Для проверки работы функции вернитесь в Excel и выполните сле­дующие действия:

а) подготовьте исходные данные (рис. 7.1);

А

В

С

D

1

а=

b=

с=

Тип треугольника

2

1

2

3

3

2

2

2

4

2

3

2

Рис. 7.1. Исходные данные для первой функции

б) в ячейку D2 введите формулу =Тип Треугольника1(А2; В2; С2). Это можно сделать любым из двух способов: вручную или с помощью команд меню "Вставка/Функция" (выберите созданную вами функцию в категории "Определенные пользователем" и укажите в качестве ар­гументов адреса ячеек А2, В2, С2). Второй способ удобнее;

в) скопируйте формулу из ячейки D2 в ячейки D3 и D4;

г) убедитесь, что функция работает верно.

3.  Самостоятельно составьте функцию Тип_Треугольника2, которая проверяет возможность построения треугольника по заданным значениям его сторон. Если треугольник существует, определить, является ли он равнобедренным.

4.  Для проверки работы функции вернитесь в Excel и выполните
следующие действия:

а) подготовьте исходные данные (рис. 7.2);

А

В

С

D

1

а=

b=

с=

Тип треугольника

2

1

2

3

3

2

3

4

4

2

3

2

Рис. 7.2. Исходные данные для второй функции

б) в ячейку D2 введите формулу =Тип_Треугольника2(А2; В2; С2);

в) скопируйте формулу из ячейки D2 в ячейки D3 и D4;

г) убедитесь, что функция работает верно. Текст функции и ре­зультат проверки приведите в отчете по лабораторной работе.

5.  Самостоятельно составьте функцию Тип_ТреугольникаЗ, которая
проверяет возможность построения треугольника по заданным значе­ниям его сторон. Если треугольник существует, определить, является ли он прямоугольным.

6.  Проверьте работоспособность функции на следующих исходных
данных (рис. 7.3):

А

В

С

D

1

а=

b=

с=

Тип треугольника

2

1

2

3

3

5

3

4

4

7

3

5

Рис. 7.3. Исходные данные для третьей функции

При этом в ячейках D2:D4 используйте формулу с функцией Тип_ТреугольникаЗ. Текст функции и результат проверки приведите в отчете по лабораторной работе.

7. Самостоятельно составьте функцию Тип_Треугольника, которая проверяет возможность построения треугольника по заданным зна­чениям его сторон. Если треугольник существует, определить, явля­ется ли он равносторонним, равнобедренным, прямоугольным или простым.

Для проверки нескольких условий используйте форму 3 команды If (см. приложение D).

8. Проверьте работоспособность функции на следующих исходных
данных (рис. 7.4):

А

В

С

D

1

а=

b=

с=

Тип треугольника

2

1

2

3

3

5

3

4

4

2

3

4

5

2

2

2

6

2

1

2

Рис. 7.4. Исходные данные для четвертой функции

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

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

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством