Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Private Sub CommandButton1_Click(). i = 3 ‘строка с которой начинаются записи в таблице




i = 3 ‘ строка с которой начинаются записи в таблице

Do Until Worksheets("Склад").Cells(i, 3) = "" ‘ проверяется условие – не являеся ли строка пустой

i = i + 1 ‘ подсчитывается количество заполненных строк

Loop

Worksheets("Склад").Cells(i + 4, 1) = "Общее количество видов"

Worksheets("Склад").Cells(i + 4, 3) = i

End Sub

 

Рис. 5.1 − Образец оформления рабочего листа для примера 1

Цикл будет работать до тех пор, пока не встретится пустая строка. В переменной i после окончания цикла будет записан номер строки, следующей за последней заполненной строкой таблицы. Результат выведется в первый и третий столбец на 4 строки ниже последней строки таблицы.

Пример 2. Пусть необходимо вычислить значения на интервале x=3 (0,1) 4 (х меняется от 3 до 4 с шагом 0,1).

Создадим командную кнопку и напишем для нее следующую процедуру:

Private Sub CommandButton1_Click()

x=3: n=1

Do While x<=4

t=Sin(x)^2+Exp(3-x)

Worksheets(“Лист1”).Cells (1, n) =t

x=x+0.1: n=n+1

Loop

End Sub

Перед началом цикла переменной x присваивается начальное значение 3. Затем в начале цикла проверяется условие x<=4, где 4 − конечное значение x. Если это условие верно, то выполняются все операторы, входящие в тело цикла и вычисляется значение x, увеличенное на величину шага. Как только условие x<=4 станет неверным, циклический процесс и выполнение программы завершается.

В этой программе в одной строке записано два оператора, разделенные двоеточием. Результаты вычислений размещаются в первой строке на рабочем листе Excel.

Пример 3. Пусть нужно вычислить значение q по формуле: для z={1; 4; 7,5; 9; 15} и a=3, а также для значений z=0 (0,5) 5. Ввод исходных данных должен осуществляться из ячеек рабочего листа. Вывод результатов надо организовать в ячейки на рабочем листе Excel.

Составим две процедуры. Первую с использованием оператора цикла For... Next и вторую с использованием оператора цикла Do...Loop. Для решения задачи оформим рабочий лист согласно образцу:

 

Рис. 5.2 − Образец оформления рабочего листа для примера 3

Для кнопки «Расчет For... Next»составим следующую процедуру:

Private Sub CommandButton1_Click()

a = 3

j = 18 ' j − это номер строки, в которую введено первое значение z

For i = 1 To 5 ‘ счетчик количества значений переменной z

z = Worksheets("Лист4").Cells(j, 2)

q = Sqr(z ^ 2 + 8 * a) * Log(z + 0.5)

Worksheets("Лист4").Cells(j, 3) = q

j = j + 1

Next i

End Sub

Для кнопки «Расчет Do...Loop» процедура может иметь вид:

Private Sub CommandButton2_Click()

a = 3: j = 18: z = 1

Do While z <= 5

q = Sqr(z ^ 2 + 8 * a) * Log(z + 0.5)

Worksheets("Лист4").Cells(j, 8) = q

z = z + 0.5

j = j + 1

Loop

End Sub

Для проверки результатов вычислений с помощью формул Excel в ячейку D15 можно поместить формулу:

=КОРЕНЬ(B15^2+8*$J$7)*LN(B15+0,5).

Её надо скопировать в ячейки D16:D19 и в ячейки I15:I23. Результат расчета с помощью VBA и Excel должен совпасть.

Содержание заданий

1. Выполнить приведенные выше примеры циклических программ.

2. В табл. 5.1 приведены формулы и два варианта исходных данных, по которым надо составить две программы с одними и теми же расчетными формулами. Предусмотреть вывод результатов в ячейки таблицы на рабочем листе Excel.

Таблица 5.1

Формула для вычислений For...Next Do...Loop
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 





Поделиться с друзьями:


Дата добавления: 2017-02-28; Мы поможем в написании ваших работ!; просмотров: 438 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

2160 - | 2048 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.