Всем привет!
Почитав в интернетах про циклы, я узнал что есть такая вещь как цикл Do Loop Until - "предназначен для организации цикла-до. Инструкции будут выполняться до момента, когда выражение станет истинным."
вот я и пытаюсь написать цикл
но я не понимаю следующего:
1. Правильно ли я задал диапазон и будут ли вообще из него браться числа для расчета и подставляться в формулу??? Т.е. как вообще узнать, что цикл понял, что ему нужно брать данные именно из диапазона S, и пойти вниз чтобы начать брать значения для расчета, а не в лево или куда еще.
2. Как узнать на какой ячейке из диапазона остановился цикл и узнать что написано в этой ячейке. Собственно это и должно стать ответом в пользовательской функции.
Почитав в интернетах про циклы, я узнал что есть такая вещь как цикл Do Loop Until - "предназначен для организации цикла-до. Инструкции будут выполняться до момента, когда выражение станет истинным."
вот я и пытаюсь написать цикл
| Код |
|---|
Function sechenie2(L, cosf, Ip)
Dim dU As Long
Dim S As Range
Set S = Range("F12:F21")
Do ' подставляем значения сечений из диапазона до тех пор пока значение dU не станет меньше 4 процентов
S = Range("F12:F21")
dU = 2 * ((0.0225 * L * cosf / S + 0.00008 * L * (1 - (cosf) ^ 2) ^ 0.5)) * Ip * 100 / 220
Loop Until dU < 4
sechenie2 = S
'For i = 12 To 21 'перебираем строки с 12 по 21
'If Cells(i, 5) > Ip And Cells(i, 7) < dU Then 'если проходит проверка и по току и по потере напряжения
' sechenie2 = Cells(i, 4) 'выбираем кабель из перечня
' Exit For 'выходим из цикла
'End If
' Next
End Function |
но я не понимаю следующего:
1. Правильно ли я задал диапазон и будут ли вообще из него браться числа для расчета и подставляться в формулу??? Т.е. как вообще узнать, что цикл понял, что ему нужно брать данные именно из диапазона S, и пойти вниз чтобы начать брать значения для расчета, а не в лево или куда еще.
2. Как узнать на какой ячейке из диапазона остановился цикл и узнать что написано в этой ячейке. Собственно это и должно стать ответом в пользовательской функции.
Изменено: - 26.03.2020 14:41:55