Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Оператори управління обчислювальним процесомСодержание книги Поиск на нашем сайте
При необхідності виконувати ті чи інші оператори в залежності від дотримання деяких умов, використовують оператори управління обчислювальним процесом. До них відносяться оператор безумовного переходу, оператори умовного переходу та оператор вибору. Оператори умовного переходу If...Then 1) Оператор If … Then - перевіряється одна умова і виконується один оператор чи блок операторів. Синтаксис: If <умова> Then <оператор> або з декількома операторами If <умова> Then <Блок операторів> End If 2) Оператор If … Then … Else - перевіряється одна умова і виконується один із двох блоків операторів. Синтаксис: If умова Then <Блок операторів 1> Else <Блок операторів 2> End If Приклад. Sub Вік () If vik <= 7 Then MsgBox "Дошкiльник" Else MsgBox "Школяр або дорослий" End If End Sub
3) Оператор If … Then … ElseIf - перевіряється кілька умов і виконується один з декількох блоків операторів. Синтаксис: If <умова1> Then <Блок операторів 1> ElseIf <умова2> Then <Блок операторів 2> ElseIf <умова3> Then <Блок операторів3> … Else <Блок операторів_n> End If Приклад. Sub Вік1 () vik= InputBox ("Вкажіть вік") If vik < 7 Then MsgBox "Дошкiльник" ElseIf vik < 17 Then MsgBox "Школяр" ElseIf vik < 23 Then MsgBox "Студент" ElseIf vik < 55 Then MsgBox "Спецiалiст" Else MsgBox "Пенсiонер" End If End Sub Оператор вибору Select Case 4) Оператор Select Case – оператор вибору, перевіряється одна умова і виконується один з декількох блоків операторів. Оператор заміняє серію операторів ElseIf, якщо один і той же вираз порівнюється з декількома значеннями Синтаксис: Select Case <вираз> Case <значення1> <Блок операторів 1> Case <значення2> <Блок операторів 2> … Case Else <Блок операторів N> End Select Приклад. Sub SelectCase () Dim a As Single a = InputBox("Введіть ваш зріст у сантиметрах") Select Case a Case Is < 150 MsgBox "У вас дуже малий зріст" Case 151 То 178 MsgBox "Ви людина середнього зросту" Case Is > 178 MsgBox "Ви висока людина" End Select End Sub Об’єкти VBА у середовищі MS Excel Мова VBA містить готові об’єкти, призначені для використання в різних додатках Microsoft Office. В середовищі Microsoft Excel такими об’єктами є: книга, лист, діапазон листа, діаграма. Рядок аркуша, стовпчик, окрема клітинка також є діапазоном. Книга визначається іменем файлу. Аркуші та діаграми книги визначаються або за номером у книзі, або за іменем аркуша(діаграми). Стовпчики та рядки визначаються номером. Діапазон на аркуші визначається або координатами двох кутів діапазону, або присвоєним іменем. Клітинка визначається назвою стовпчика і номером рядка. В мові VBA можна використовувати змінні, значенням яких служить об'єкт: книга, лист або діапазон. Для того, щоб визначити таку змінну, використовують зарезервовані слова Workbook (книга), Worksheet (лист), Range (діапазон), Chart (діаграма). Є також функції, які можуть присвоїти значення конкретного об'єкта: Workbooks (“book1.xls) має значенням книгу у файлі з іменем “book1.xls”; Worksheets (“Лист1”) або Worksheets (1) має значенням перший лист активної книги; Range (“B3:G7”) має значенням діапазон активного листа з координатами B3 і G7; Workbooks (“book1.xls).Worksheets("Лист2").Range("М5:S2 0"). Для того, щоб у програмі змінну WH оголосити як аркуш книги, а змінну RR оголосити як діапазон, необхідно записати так: Dim WH as Worksheet, RR as Range ‘ Присвоєння змінній значення об'єктаув VBA має спеціальний вид з використанням слова Set: Set WH = Worksheets (“Лист2”) Set RR = WH.Range (“A1:H8”) Після цих команд змінна WH вказує на лист відкритої книги з іменем “Лист2”, а змінна RR відповідає діапазону A1:H8 цього листа. Тут запис WH.Range означає метод Range об'єкта WH, що повертає діапазон аркуша за його координатами. Нижче подано перелік деяких властивостей і методів, що можна застосувати до об'єктів: метод Activate для аркуша – робить активним даний аркуш; властивість Cells(j,k) для аркуша означає клітинку у j-му рядку і k-му стовпчику аркуша; властивість A ctiveCell для аркуша означає поточну клітинку аркуша; властивість Selection для аркуша означає сукупність всіх виділених діапазонів на аркуші; метод Select для діапазону робить виділеним даний діапазон; властивість Cells(j,k) для діапазону означає клітинку у j-му рядку і k-му стовпчику діапазону; властивість Offset(j,k) для діапазону означає клітинку із зміщенням на j рядків і k стовпчиків від верхнього кута діапазону; властивість Rows.Count повертає кількість рядків у діапазоні; властивість Columns.Count повертає кількість стовпчиків у діапазоні; властивість CurrentRegion для клітинки повертає максимальний діапазон, що містить дану клітинку і обмежений з усіх сторін пустими рядками і стовпчиками; властивість Font діапазону або клітинки представляє собою опис шрифта для запису даних; властивість Value для клітинки задає значення, що зберігається або обчислюється в клітинці; метод Activate для клітинки робить цю клітинку поточною; властивість Areas(k) означає k-й по порядку діапазон серед кількох виділених діапазонів.
Теоретична довідка до ПР №28-29 Оператори циклів У мові програмування під циклом розуміють послідовність операторів, що повторюється багаторазово. Цикл, в якому відома кількість повторень, називається арифметичним. Цикл, у якому кількість повторень не відома і залежить від виконання деяких умов, називається ітераційним. Ітераційний цикл Оператор циклу без лічильника Do … Loop використовується в одному з чотирьох варіантів: Do While <умова продовження циклу> … Loop Do Until <умова закінчення циклу > … Loop Do … Loop While <умова продовження циклу> Do … Loop Until <умова закінчення циклу> Нехай, наприклад, треба розрахувати значення Y залежно від введеного значення X. Тоді фрагмент програми матиме такий вигляд: 1) У даному прикладі цикл виконується, якщо введені значення Х задовольняють умову Х>0: X = Input ("Значення X", Х) Do While Х> 0 Y=sqr(3*Х+7) Debug.Print X;Y Loop 2) У наведеному нижче прикладі цикл виконується, якщо X < 5: X = InputBox ("Значення X") Do Until X>5 Y=sqr(15-3*Х) Debug.Print X;Y Loop Арифметичний цикл Якщо необхідно виконати одні і ті ж дії задану кількість разів, але з різними значення деякої змінної, то використовують оператор циклу з лічильником For … Next. For <змінна циклу = початкове значення> То <кінцеве значення> [Step<крок циклу>] Тіло циклу Next [змінна циклу] Приклад: Private Sub Prog2() Dim add As String, n As Integer add = "" For n = 1 To 21 Step 2 add = add & n & " " Next n MsgBox "Це послідовність непарних чисел:" & " " & add End Sub
Приклади програм з використанням об’єктів MS Excel у циклічних обчислювальних процесах: 1. Програма переписує вміст стовпчика «B2:B7» на аркуші «Лист1» у стовпчик «E2:E7», виконуючи операції з клітинками аркуша: Sub example3 () Dim j as integer Worksheets("Лист1").Activate ‘ Аркуш «Лист1» стає поточним активним аркушем For j=2 To 7 Cells(j,5).Value = Cells(j,2).Value Next j End Sub 2. Програма для копіювання вмісту цілого діапазону. Початковий діапазон після копіювання буде стиратися. Sub example4 () Dim R1 as Range, R2 as Range, j as integer, k as integer, m as integer, n as integer Set R1 = Worksheets("Лист1").Range ("B2:C7") Set R2 = Worksheets("Лист1").Range ("E4:F9") m = R1.Rows.Count n = R1.Columns.Count For j=1 to m For k=1 to n R2(j,k).Value = R1(j,k).Value R1(j,k).Value = “ ” Next k Next j End Sub 3. Цей приклад демонструє функцію, що обчислює суму вмісту всіх клітинок заданого діапазону: Function summ (adr as string) as single Dim j as integer, k as integer, m as integer, n as integer Dim s as single Dim RN as Range Set RN = Range (adr) Rem Встановити діапазон із заданою в параметрі функції адресою m = RN.Rows.Count ‘Кількість рядків діапазону n = RN.Columns.Count ‘Кількість стовпців діапазону s = 0 For j = 1 to m For k = 1 to n s = s + RN(j, k).Value Next k Next j summ = s End Function 4. Наступний приклад демонструє функцію, що обчислює клітинку в заданому діапазоні, що містить мінімальне число в цьому діапазоні. Function minm (adr as string) as Range Dim j as integer, k as integer, m as integer, n as integer Dim s as single Dim RN as Range, RC as Range Set RN = Worksheets ("Лист1").Range (adr) m = RN.Rows.Count n = RN.Columns.Count Set RC = RN (1, 1) For j = 1 to m For k = 1 to n IF RN (j, k).Value < RC.Value Then Set RC = RN (j, k) End IF Next k Next j Set minm = RC End Function 5. В наступному прикладі мінімум в діапазоні запишеться, наприклад, в клітинку B13. Sub example5 () Cells (13, 2) = minm ("B2:C11").Value End Sub
|
||||
Последнее изменение этой страницы: 2016-07-11; просмотров: 247; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.184.195 (0.01 с.) |