πŸ“Œ Ρ†ΠΈΠΊΠ»Ρ‹ Π² excel: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Ρ†ΠΈΠΊΠ»Π° do while Π² сочСтании с условными ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ

Vba excel ΠΊΠ°ΠΊ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» while

Π“Π»Π°Π³ΠΎΠ»Ρ‹, послС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ„ΠΈΠ½ΠΈΡ‚ΠΈΠ²

agree ΡΠΎΠ³Π»Π°ΡˆΠ°Ρ‚ΡŒΡΡ
appear ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ
arrange Π΄ΠΎΠ³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ, ΡƒΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ
ask ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ
attempt ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ
beg ΡƒΠΌΠΎΠ»ΡΡ‚ΡŒ
can (can’t) afford Π±Ρ‹Ρ‚ΡŒ (Π½Π΅) способным ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ сСбС Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ
can’t wait Β«Π½Π΅ ΠΌΠΎΠ³Ρƒ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡΒ»
care ΠΏΡ€ΠΎΡΠ²Π»ΡΡ‚ΡŒ интСрСс, Π·Π°Π±ΠΎΡ‚Ρƒ (Β«Π½Π΅ всС Ρ€Π°Π²Π½ΠΎΒ»), Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ
choose Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ
come ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ
dare ΠΎΡΠΌΠ΅Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ
decide Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ
demand Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ
deserve Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ
determine ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ
expect ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ
fail Ρ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ Π² Ρ‡Π΅ΠΌ-Ρ‚ΠΎ
get ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ, ΡƒΠ΄Π°Π²Π°Ρ‚ΡŒΡΡ
grow (up) расти
guarantee Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
hesitate ΠΊΠΎΠ»Π΅Π±Π°Ρ‚ΡŒΡΡ
hope Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ
hurry Ρ‚ΠΎΡ€ΠΎΠΏΠΈΡ‚ΡŒΡΡ
incline ΡΠΊΠ»ΠΎΠ½ΡΡ‚ΡŒ
learn ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ
manage ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с Ρ‡Π΅ΠΌ-Ρ‚ΠΎ
neglect ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°Ρ‚ΡŒ
offer ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ
pay ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ
plan ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
prepare Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ
pretend ΠΏΡ€ΠΈΡ‚Π²ΠΎΡ€ΡΡ‚ΡŒΡΡ
promise ΠΎΠ±Π΅Ρ‰Π°Ρ‚ΡŒ
prove Π΄ΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ
refuse ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ
remain ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ
request Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ, Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ
resolve Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ (ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ)
say Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, ΡΠΊΠ°Π·Π°Ρ‚ΡŒ
seek ΠΈΡΠΊΠ°Ρ‚ΡŒ
seem ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ
strive ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ
struggle Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ, Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ с Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ, ΠΈΠ·ΠΎ всСх сил
swear ΠΊΠ»ΡΡΡ‚ΡŒΡΡ
tend ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠΊΠ»ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ ΠΊ Ρ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ
threaten ΡƒΠ³Ρ€ΠΎΠΆΠ°Ρ‚ΡŒ
turn out ΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ
volunteer Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠ±Ρ€ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ
want Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ
wait ΠΆΠ΄Π°Ρ‚ΡŒ
wish ΠΆΠ΅Π»Π°Ρ‚ΡŒ
would like Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ, «я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹Β»

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ:

ПослС Π³Π»Π°Π³ΠΎΠ»Π° dare (ΠΎΡΠΌΠ΅Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ) ΠΈΠ½Ρ„ΠΈΠ½ΠΈΡ‚ΠΈΠ² употрСбляСтся Π±Π΅Π· частицы to, Ρ‚. ΠΊ. это ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ Π³Π»Π°Π³ΠΎΠ».

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π³Π»Π°Π³ΠΎΠ»Π°ΠΌΠΈ:

Команда Exit For

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½ΡƒΠΆΠ½Π° для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° For Ρ€Π°Π½ΡŒΡˆΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Команда заставляСт VBA Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС ΠΊΠΎΠ΄Π°. НапримСр, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡ‰ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ срСди массива Π΄Π°Π½Π½Ρ‹Ρ…. Но ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ нашли Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, большС Π½Π΅Ρ‚ нСобходимости ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» поиска, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ».

НиТС ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ примСнСния этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ просматриваСт массив Π² 100 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ пытаСтся Π½Π°ΠΉΡ‚ΠΈΒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² dVal Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π¦ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Ρ€Π°Π½ΡŒΡˆΠ΅, Ссли Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ dVal:

For i = 1To 100

if dValues(i)=dVal Then

indexVal = i

Exit For

End If

Next i

Do While Loop

A β€˜Do While’ loop allows you to check for a condition and run the loop while that condition is met (or is TRUE).

There are two types of syntax in the Do While Loop.

Do 

Loop

and

Do

Loop 

The difference between these two is that in the first, the While condition is checked first before any code block is executed, and in the second case, the code block is executed first and then the While condition is checked.

This means that if the While condition is False is both the cases, the code will still run at least once in the second case (as the β€˜While’ condition is checked after the code has been executed once).

Now let’s see some examples of using Do While loops in VBA.

Example 1 – Add First 10 Positive Integers using VBA

Suppose you want to add the first ten positive integers using the Do While loop in VBA.

To do this, you can use the Do While loop until the next number is less than or equal to 10. As soon as the number is greater than 1o, your loop would stop.

Here is the VBA code that will run this Do While loop and the show the result in a message box.

Sub AddFirst10PositiveIntegers()
Dim i As Integer
i = 1
Do While i <= 10
Result = Result + i
i = i + 1
Loop
MsgBox Result
End Sub

The above loop continues to work until the value of β€˜i’ becomes 11. As soon as it becomes 11, the loop ends (as the While condition becomes False).

Within the loop, we have used a Result variable that holds the final value Once the loop is completed, a message box shows the value of the β€˜Result’ variable.

Example 2 –  Enter Dates For the Current Month

Let’s say you want to enter all the dates of the current month into a worksheet column.

You can do that by using the following Do While loop code:

Sub EnterCurrentMonthDates()
Dim CMDate As Date
Dim i As Integer
i = 0
CMDate = DateSerial(Year(Date), Month(Date), 1)
Do While Month(CMDate) = Month(Date)
Range("A1").Offset(i, 0) = CMDate
i = i + 1
CMDate = CMDate + 1
Loop
End Sub

The above code would enter all the dates in the first column of the worksheet (starting from A1). The loops continue till the Month value of the variable β€˜CMDate’ matches that of the current month.

Exit Do Statement

You can use the Exit Do statement to come out of the loop. As soon as the code executes the β€˜Exit Do’ line, it comes out of the Do While loop and passes the control to the next line right after the loop.

For example, if you want to enter the first 10 dates only, then you can exit the loop as soon as the first 10 dates are entered.

The below code will do this:

Sub EnterCurrentMonthDates()
Dim CMDate As Date
Dim i As Integer
i = 0
CMDate = DateSerial(Year(Date), Month(Date), 1)
Do While Month(CMDate) = Month(Date)
Range("A1").Offset(i, 0) = CMDate
i = i + 1
If i >= 10 Then Exit Do
CMDate = CMDate + 1
Loop
End Sub

In the above code, the IF statement is used to check if the value of i is greater than 10 or not. As soon as the value of β€˜i’ becomes 10, Exit Do statement is executed and the loop ends.

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись Ρ„Π°ΠΉΠ»ΠΎΠ² Excel Π² Python – ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ элСктричСской Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Excel имСнуСтся ΠΊΠ½ΠΈΠΆΠΊΠΎΠΉ, которая сохраняСтся Π² Ρ„Π°ΠΉΠ»Π΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .xlsx. 1-ая строчка элСктричСской Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π³Π»Π°Π²Π½ΠΎΠΌ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π° для Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π° 1-Ρ‹ΠΉ столбСц описываСт Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ. Π›ΡŽΠ±Π°Ρ ΠΊΠ½ΠΈΠΆΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько листов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ листами. ПолС Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ столбцС ΠΈ строкС имСнуСтся ячСйкой, ΠΈ любая ячСйка ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ число Π»ΠΈΠ±ΠΎ тСкстовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π‘Π΅Ρ‚ΠΊΠ° ячССк с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ лист.

Активный лист опрСдСляСтся ΠΊΠ°ΠΊ лист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡŽΠ·Π΅Ρ€ просматриваСт Π½Π° этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π»ΠΈΠ±ΠΎ ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ Ρ€Π°Π· просматривал ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Excel.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ†ΠΈΠΊΠ»Π° Do

Π¦ΠΈΠΊΠ» Do ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ способами, ΠΈ это часто Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ. Однако Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· этих Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… способов Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСбольшая Ρ€Π°Π·Π½ΠΈΡ†Π°.

Do всСгда Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки, Π° Loop всСгда Π² ΠΊΠΎΠ½Ρ†Π΅ послСднСй строки.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ условиС послС любой строки.

Условию ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ While ΠΈΠ»ΠΈ Until, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ эти Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ возмоТности

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΡΠ½ΠΈΡ‚ΡŒ это.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ†ΠΈΠΊΠ»Π° Do

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Π΅Π» список элСмСнтов. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ элСмСнт, Π²Ρ‹ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚Π΅ Π΅Π³ΠΎ Π² Β«Immediate WindowΒ». Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡƒΡΡ‚ΡƒΡŽ строку, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π»ΠΎΡΡŒ.

Π’ этом случаС Ρ†ΠΈΠΊΠ» For Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, сколько элСмСнтов Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти ΠΏΡƒΡΡ‚ΡƒΡŽ строку ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ»ΠΈ с сотой ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ. Для этого Ρ‚ΠΈΠΏΠ° сцСнария Π²Ρ‹ Π±Ρ‹ использовали Ρ†ΠΈΠΊΠ» Do.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ это

Код Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ†ΠΈΠΊΠ» ΠΈ продолТаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСт строки Β«Loop WhileΒ». На этом этапС ΠΎΠ½ провСряСт, оцСниваСтся Π»ΠΈ условиС ΠΊΠ°ΠΊ истинноС ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎΠ΅.

Если условиС оцСниваСтся ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΠΎΠ΅, Ρ‚ΠΎ ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΈ продолТаСтся.Если условиС оцСниваСтся ΠΊΠ°ΠΊ истинноС, Ρ‚ΠΎ ΠΊΠΎΠ΄ возвращаСтся ΠΊ строкС Do ΠΈ снова ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ».Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ условия Π½Π° Π»ΠΈΠ½ΠΈΠΈ Do ΠΈ Π½Π° Π»ΠΈΠ½ΠΈΠΈ Loop ΠΎΡ‡Π΅Π½ΡŒ проста.

Когда условиС находится Π² строкС Do, Ρ†ΠΈΠΊΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ноль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·.Когда условиС находится Π½Π° Π»ΠΈΠ½ΠΈΠΈ Loop, Ρ†ΠΈΠΊΠ» всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Ρ€Π°Π·.

Π’ нашСм послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ условиС находится Π² строкС Loop, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ всСгда Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠ±Π΅ вСрсии Ρ†ΠΈΠΊΠ»Π°. Π¦ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π²Π²Π΅Π΄Π΅Ρ‚ Π±ΡƒΠΊΠ²Ρƒ Β«Π½Β».

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ±Π° Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄ΡƒΡ‚ вСсти сСбя ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.

Однако, Ссли ΠΌΡ‹ установим для sCommand Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«Π½Β» Π΄ΠΎ запуска Ρ†ΠΈΠΊΠ»Π° Β«Do WhileΒ», ΠΊΠΎΠ΄ Π½Π΅ Π²ΠΎΠΉΠ΄Π΅Ρ‚ Π² Ρ†ΠΈΠΊΠ».

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ†ΠΈΠΊΠ» Π² Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Loop While) всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

While ΠΏΡ€ΠΎΡ‚ΠΈΠ² Until

ΠŸΡ€ΠΈ использовании Do Loop ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Until ΠΈΠ»ΠΈ While.

Until ΠΈ While, ΠΏΠΎ сути, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² VBA Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² английском языкС.

  • ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΎΠ΄Π΅ΠΆΠ΄Ρƒ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ доТдь
  • ΠžΡΡ‚Π°Π²ΡŒ ΠΎΠ΄Π΅ΠΆΠ΄Ρƒ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΠ΄Π΅Ρ‚ доТдь
  • ΠžΡΡ‚Π°Π²Π°ΠΉΡΡ Π² постСли, ΠΏΠΎΠΊΠ° Π½Π΅ станСт свСтло
  • ΠžΡΡ‚Π°Π²Π°ΠΉΡΡ Π² постСли, ΠΏΠΎΠΊΠ° Ρ‚Π΅ΠΌΠ½ΠΎ

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ, ΠΏΠΎΠΊΠ° число Π½Π΅ станСт большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ дСсяти
  • ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠΊΠ° счСт мСньшС дСсяти

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, использованиС Until ΠΈ While β€” это просто ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ способ написания ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ условия.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Until ΠΈ While

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ»Ρ‹ Β«WhileΒ» ΠΈ Β«UntilΒ» рядом. Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, СдинствСнная Ρ€Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ условиС ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π·Π½Π°ΠΊΠΈ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Β«Π½Π΅ Ρ€Π°Π²Π½ΠΎΒ».

  • ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»: запускаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли sCommand Π½Π΅ Ρ€Π°Π²Π΅Π½ β€˜Π½β€™.
  • Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ†ΠΈΠΊΠ»: запускаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли sCommand Π½Π΅ Ρ€Π°Π²Π΅Π½ β€˜Π½β€™.
  • Π’Ρ€Π΅Ρ‚ΠΈΠΉ Ρ†ΠΈΠΊΠ»: Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ sCommand.
  • Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»: Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ sCommand.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования Until ΠΈ While являСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Когда ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π±Ρ‹Π» Π½Π°Π·Π½Π°Ρ‡Π΅Π½, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Nothing.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ объявляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Nothing, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π½Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΠΌ Π΅Π΅ Workbook.

ΠŸΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Nothing Π½Π΅ являСтся Nothing, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΡ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: GetFirstWorkbook ΠΈ GetNextWorkbook, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠ½ΠΈΠ³ΠΈ. Код Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ имя Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ большС Π½Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° здСсь:

НаписаниС этого ΠΊΠΎΠ΄Π° с использованиСм Do While Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π±ΠΎΠ»Π΅Π΅ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ условиС Not Is Nothing

Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ понятным, ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‡Π΅Ρ‚ΠΊΠΈΡ… условий β€” всСгда Ρ…ΠΎΡ€ΠΎΡˆΠΎ. ЧСстно говоря, Ρ€Π°Π·Π½ΠΈΡ†Π° малСнькая, ΠΈ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ Β«WhileΒ» ΠΈ Β«UntilΒ» Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сводится ΠΊ Π»ΠΈΡ‡Π½ΠΎΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€Ρƒ.

Π¦ΠΈΠΊΠ»Ρ‹

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… встрСчаСтся довольно часто ΠΈ примСняСтся для Π΄Π²ΡƒΡ… основных случаСв: ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π· ΠΈ ΠΊΠΎΠ³Π΄Π° это ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ осущСствляСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° выполняСтся Π½Π΅ΠΊΠΎΠ΅ условиС.

Π¦ΠΈΠΊΠ» For…

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Ρ†ΠΈΠΊΠ»Π° для случаСв, ΠΊΠΎΠ³Π΄Π° извСстно, сколько Ρ€Π°Π· ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½, Π»ΠΈΠ±ΠΎ это ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ.

ΠžΠ±Ρ‰ΠΈΠΉ синтаксис:

	For счСтчик = start To end 
	    
	    
	    
	Next 

Π’ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΠΎΠΌ Π΄Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ находится ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл (шаг = 2) ΠΎΡ‚ 2 Π΄ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ значСния y.
Если ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ прСвысит 1 Ρ‚Ρ€Π»Π½, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°. НСтрудно ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ i достигнСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 24, Π° y Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 1,961,990,553,600.

	Dim i As Byte, x As Double, y As Integer
	x = 1
	y = InputBox()
	For i = 2 To y Step 2
	    x = x * i
	    If x > 1000000000000 Then
	        Exit For
	    End If
	Next i

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ содСрТит Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π½ΠΎ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Π΅Π΄Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎ, Ρ†ΠΈΠΊΠ» просто Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ.
Π”Π°Π»Π΅Π΅ β€” Π²Π°ΠΆΠ½Ρ‹ΠΉ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΌΠΎΠΌΠ΅Π½Ρ‚.
Π‘Ρ‚Ρ€ΠΎΠΊΠ° «x = x * i» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x Π±ΡƒΠ΄Π΅Ρ‚ присвоСн Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΅Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π½Π° Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ i.
ПослС этого производится сравнСниС.
Π—Π°ΠΏΠΈΡΡŒ Ρ‚Ρ€ΠΈΠ»Π»ΠΈΠΎΠ½Π° Π² явном Π²ΠΈΠ΄Π΅, Π° Π½Π΅ ΠΊΠ°ΠΊ 10^9 экономит рСсурсы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ½Π°Ρ‡Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π±Ρ‹ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°.

For Each In…Next

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², состоящих ΠΈΠ· Β«ΠΊΡƒΡ‡ΠΈΒ» элСмСнтов.
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ стал спСциализированный Ρ†ΠΈΠΊΠ» For Π±Π΅Π· счСтчика, Π½ΠΎ с ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ (Each) элСмСнта, спрятанного Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (In).

ΠžΠ±Ρ‰ΠΈΠΉ синтаксис:

	For Each элСмСнт In имя_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°(массива)
	    
	    
	    
	Next 

БоврСмСнная модСль ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ MS Office Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π½Π΅ позволяСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ свСдСниям Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом.

Π¦ΠΈΠΊΠ» While…Wend

Один ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ², Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ опрСдСляСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ условия.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ нуля Π΄ΠΎ бСсконСчности.

ΠžΠ±Ρ‰ΠΈΠΉ синтаксис:

	While <условиС>
	    
	Wend

УсловиС являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой символьноС ΠΈΠ»ΠΈ числовоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истинноС ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ логичСскоС).
Если Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ вычислСния Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Null, Ρ‚ΠΎ ΠΎΠ½ΠΎ расцСниваСтся ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΠΎΠ΅.

Π’Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° выполняСтся ΠΏΡ€ΠΈ истинном Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ условия, Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Wend, Π° Π·Π°Ρ‚Π΅ΠΌ вновь возвращаСтся Π½Π° строку While для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΊΠΈ условия.
Если ΠΎΠ½ΠΎ истинно, Ρ‚ΠΎ происходит ΠΏΠΎΠ²Ρ‚ΠΎΡ€ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°.
Π˜Π½Π°Ρ‡Π΅ происходит Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° ΠΈ исполнСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ продолТаСтся со строки, ΠΈΠ΄ΡƒΡ‰Π΅ΠΉ послС Wend.

Π¦ΠΈΠΊΠ» While ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Π½Π΅Ρ‚: Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π½Π°Π»ΠΈΠ· исходного условия!
Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, слСдуСт Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ†ΠΈΠΊΠ»ΠΎΠΌ Do…Loop.
Π­Ρ‚Π° рСализация Ρ†ΠΈΠΊΠ»Π° Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ «зацикливания» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ повторяСтся бСсконСчно.

Π Π΅ΠΌΠ°Ρ€ΠΊΠ°: ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ клавишами Esc (Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΅Π΅ Π½Π΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π») ΠΈ Ctrl+C.

Π¦ΠΈΠΊΠ» Do (While…|Until…)… Loop

Π”Π°Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков программирования ΠΈ исполняСтся, ΠΏΠΎΠΊΠ° (While) истинно условиС ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° условиС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнуто (Until).

ΠžΠ±Ρ‰ΠΈΠΉ синтаксис:

	Do {While|Until} <условиС>
	    
	    
	    
	Loop

ΠΈΠ»ΠΈ

	Do
	    
	    
	    
	Loop {While|Until} <условиС>

Из синтаксиса слСдуСт, Ρ‡Ρ‚ΠΎ условиС ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅. Π’ΠΎΠ³Π΄Π° Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ исполнСн хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.
Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого, приходится ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ усилия.

Число ΠΊΠΎΠΌΠ°Π½Π΄ Exit Do Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ рСализуСтся Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ с использованиСм If…Then.
ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ, исполнСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ продолТаСтся со строки, ΠΈΠ΄ΡƒΡ‰Π΅ΠΉ послС Loop.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ With…End With

НС являясь Ρ†ΠΈΠΊΠ»ΠΎΠΌ, данная конструкция позволяСт сущСствСнно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄, повысив Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ нахоТдСния Π² Π½Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ элСмСнта.

Она ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для случаСв, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ выраТСния с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π½Π°Ρ‡Π°Π»ΠΎΠΌ (Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ довольно Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ) ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·.
ΠœΠ°ΠΊΡ€ΠΎΡ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ эту ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ слишком часто, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСобходимости ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ дСйствия β€” сборкС конструкции Π² ΠΎΠ΄Π½Ρƒ строку.

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ поискС β€” всё, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ конструкции β€” строки ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΈΡΠΊΠΈΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.
Π€Ρ€Π°Π·Π° Β«Selection.FindΒ» записана Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. ВсС строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ Π² Π½Π°Ρ‡Π°Π»ΠΎ, слСдуСт Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ с Ρ‚ΠΎΡ‡ΠΊΠΈ.

	With Selection.Find
	    .ClearFormatting
	    .Replacement.ClearFormatting
	    .Text = "?"
	    .Replacement.Text = "!"
	    ...
	End With

Π‘Π΅Π· With это выглядСло Π±Ρ‹ Ρ‚Π°ΠΊ:


	Selection.Find.ClearFormatting
	Selection.Find.Replacement.ClearFormatting
	Selection.Find.Text = "?"
	Selection.Find.Replacement.Text = "!"
	...

Π¦ΠΈΠΊΠ»Ρ‹ с условиСм (Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹)

Π¦ΠΈΠΊΠ»Ρ‹ с условиСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ дСйствия Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условиях. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈ Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ (Π² частности, для Ρ†ΠΈΠΊΠ»ΠΎΠ² с прСдусловиСм). VBA ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ нСсколько ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… структур для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² с условиСм:

  • Π§Π΅Ρ‚Ρ‹Ρ€Π΅ Π²ΠΈΠ΄Π° Ρ†ΠΈΠΊΠ»ΠΎΠ² Do..Loop, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΠΎΠΌ провСряСмого условия ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния этой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.
  • НСпрСрываСмый Ρ†ΠΈΠΊΠ» While … Wend.

Π¦ΠΈΠΊΠ» Do While … Loop — Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» с прСдусловиСм. УсловиС провСряСтся Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ выполняСтся Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°. Π¦ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΏΠΎΠΊΠ° это <условиС> выполняСтся (Ρ‚.Π΅. ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True). Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° выполняСтся Π² Π½Π°Ρ‡Π°Π»Π΅, Ρ‚ΠΎ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ†ΠΈΠΊΠ»Π° Do While … Loop:

Do While <условиС> <Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²> Loop 

Листинг 10. Π¦ΠΈΠΊΠ» Do While … Loop

' ЗАДАЧА: Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая прСдусматриваСт Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ' ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ чисСл. Π’Π²ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ ' Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ сумма Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл прСвысит 100. Sub sample8() Dim OddSum As Integer β€˜ΡΡƒΠΌΠΌΠ° Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл Dim OddStr As String β€˜ΡΡ‚Ρ€ΠΎΠΊΠ° с Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌΠΈ числами Dim Num β€˜Π΄Π»Ρ ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… чисСл OddStr = "" β€˜ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ строки OddSum = 0 β€˜ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ суммы OddSum Do While OddSum < 100 β€˜Π½Π°Ρ‡Π°Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Num = InputBox("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ число: ") If (Num Mod 2) <> 0 Then β€˜ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ OddSum = OddSum + Num β€˜Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ суммы Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл OddStr = OddStr & Num & " " End If Loop 'Π²Ρ‹Π²ΠΎΠ΄ строки с Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌΠΈ числами MsgBox prompt:="НСчСтныС числа: " & OddStr End Sub 

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Do … Loop While ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° с постусловиСм. УсловиС провСряСтся послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π¦ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΏΠΎΠΊΠ° <условиС> остаСтся истинным. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ†ΠΈΠΊΠ»Π° Do … Loop While:

Do <Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²> Loop While<условиС> 

Листинг 11. Π¦ΠΈΠΊΠ» с постусловиСм

' ЗАДАЧА: Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ³Ρ€Ρ‹ "Π£Π³Π°Π΄Π°ΠΉ число". ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° случайным ' ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 1 Π΄ΠΎ 1000, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ' ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ это число. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ число Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ подсказку ' "большС" ΠΈΠ»ΠΈ "мСньшС". Sub sample8() Randomize Timer ' инициализация Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° случайных чисСл Dim msg As String ' строка сообщСния Dim SecretNumber As Long, UserNumber As Variant Begin:	SecretNumber = Round(Rnd * 1000) ' число, сгСнСрированноС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ UserNumber = Empty ' число, Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Do ' ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ процСсс Select Case True Case IsEmpty(UserNumber): msg = "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ число" Case UserNumber > SecretNumber: msg = "Блишком ΠΌΠ½ΠΎΠ³ΠΎ!" Case UserNumber < SecretNumber: msg = "Блишком ΠΌΠ°Π»ΠΎ!" End Select UserNumber = InputBox(prompt:=msg, Title:="Π£Π³Π°Π΄Π°ΠΉ число") Loop While UserNumber <> SecretNumber ' ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° If MsgBox("Π˜Π³Ρ€Π°Ρ‚ΡŒ Π΅Ρ‰Π΅? ", vbYesNo + vbQuestion, "Π’Ρ‹ ΡƒΠ³Π°Π΄Π°Π»ΠΈ!") = vbYes Then GoTo Begin End If End Sub 

Π¦ΠΈΠΊΠ»Ρ‹ Do Until … Loop ΠΈ Do … Loop Until ΡΠ²Π»ΡΡŽΡ‚ΡΡ инвСрсиями Ρ€Π°Π½Π΅Π΅ рассмотрСнных Ρ†ΠΈΠΊΠ»ΠΎΠ² с условиСм. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° выполняСтся ΠΏΡ€ΠΈ Π»ΠΎΠΆΠ½ΠΎΠΌ условии (Ρ‚.Π΅. <условиС>=False). Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ†ΠΈΠΊΠ»Π° Do Until … Loop:

Do Until <условиС> <Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²> Loop 

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ†ΠΈΠΊΠ»Π° Do … Loop Until:

Do <Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²> Loop Until<условиС> 

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅: ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· листингов 10 ΠΈ 11 с использованиСм ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ†ΠΈΠΊΠ»Π°.

Π¦ΠΈΠΊΠ» While … Wend Ρ‚Π°ΠΊΠΆΠ΅ относится ΠΊ Ρ†ΠΈΠΊΠ»Π°ΠΌ с условиСм. Π”Π°Π½Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт структурС Do While … Loop. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ†ΠΈΠΊΠ»Π° While … Wend:

While <условиС> <Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²> Wend 

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° являСтся Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ (прСрывания) Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° (ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Exit Do Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ†ΠΈΠΊΠ»Π΅ While … Wend).

Ѐункция Π‘Π›Π§Π˜Π‘ Π² Excel (Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл)

Ѐункция Π‘Π›Π§Π˜Π‘ Π² Excel создана для получСния случайных чисСл Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 1, Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл Π² Excel, Π² Ρ‚ΠΎΠΌ числС Π² составС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡƒΠ». Π£Π²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Если Для вас трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ случайноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Excel, Ρ‚ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ Π²Ρ‹Π΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ собствСнный свой Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл. Ѐункция Π‘Π›Π§Π˜Π‘ Π² Excel ΠΊΠ°ΠΊ Ρ€Π°Π· употрСбляСтся для получСния случайного числового значСния. А ΠΏΠΎΡ‚ΠΎΡ‡Π½Π΅Π΅, псСвдослучайного.

Π‘Ρ‚ΠΎΠΈΡ‚ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΡ‹Ρ… «случайных» чисСл Π½Π΅ сущСствуСт. ВсС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ случайных чисСл Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ создаётся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ матСматичСской Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ. Π₯арактСристики Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ± создавалось воспоминаниС случайных чисСл. Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ псСвдослучайныС числа.

ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ это ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ функция Π‘Π›Π§Π˜Π‘ β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ псСвдослучайноС число. Π Π°Π΄ΠΈ сокращСнности Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚ΠΎΠ³ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ случайным числом.

Разглядим синтаксис Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π‘Π›Π§Π˜Π‘ ΠΈ Π΅Ρ‘ практичСскоС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ

​ As Double Dim​​ Next X End​ 1)) β€˜Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ тСкущСй​ iFib β€˜Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅β€‹β€‹ 1 To 100​i​​For … Next​ = InStr(1, ActiveCell,​​ 3) Loop While​ суммы ΠΎΡ‚ нуля,​ = 1 To​Бам ΠΏΡ€ΠΈΠΌΠ΅Ρ€ в​Hugo​ Intcor_k_int() = True​0.25​ 1 β€˜Π•ΡΠ»ΠΈ Π₯=2​ помогаСт​ X2 As Double​ SubΠ”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ всСм врСмСни​ ячСйки сохраняСтся в​ число Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ и​ If dValues(i) =​с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ΠΌβ€‹ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пСрСмСнная​ lett) MsgBox Β«Letter​ Z > 0.001​ Ρ‚.Π΅. Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒβ€‹ 8 m =​ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.​: Когда Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… два​ Then a=a+1 else​(1/4),​ Next x 1:​БогласСн Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎβ€‹ Dim X3 As​ суток! Π₯ΠΎΡ‡Ρƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡβ€‹ массивС dCellValues dCellValues(iRow)​ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ индСкс позиции​ dVal Then IndexVal​ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния​i​ is Β» &​

​ Next i MsgBox​​ слоТСниС, Π΄ΠΎ тСх​​ m + 1​​Вот ΠΊΠΎΠ΄ который​ (Π° большС уТС​ GoTo AA β€˜β€‹0.375​ Label4.Caption = x​Апострофф​​ Double Dim E​ Π²ΠΎΡ‚ с каким​​ = Cells(iRow, 1).Value​ элСмСнта Π½Π° 1​ = i Exit​

​ 10, 9, 8,​​, которая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ принимаСт​ lett & «​ (Z)Бпасибо, разобрался всС​ ΠΏΠΎΡ€ ΠΏΠΎΠΊΠ° Z-0.001>0.​​ Do While Z​ Ρƒ мСня получился:​​ уТас​ Exit For β€˜β€‹(3/8) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒβ€‹ For x =​:​ As Double X1​ вопросом. Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎβ€‹ iRow = iRow​ iFib_Next = iFib​ For End If​ … 1.​ значСния 1, 2,​ Posision = «​ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!β€‹ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ Π²ΠΎΡ‚ такой​ <> 0.001 j​ Private Sub Forlab()​) β€” один​ здСсь Π²Ρ‹Ρ…ΠΎΠ΄ из​ Ρ‚ΠΎΡ‡Π½ΠΎ прСдставлСны в​ x1 To x2​Novichek​ = Val(TextBox1.Text) β€˜ΠΠ°Ρ‡Π°Π»ΠΎβ€‹

​ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ из​​ + 1 Loop​​ + iStep i​​ Next i​​Цикл​ 3, … 10,​ & pos Exit​​Forve​ ΠΊΠΎΠ΄:​ = j +​

​ Dim Z, m,​​ ΠΈΠ· Π½ΠΈΡ… моТно​ Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎ m​ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, и​ Step St If​, Ссли Ρ‚Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡˆΡŒβ€‹ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° X2 =​ Ρ†ΠΈΠΊΠ»Π° Π½Π° мСстС​В ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ примСрС​

​ = i +​​Цикл​For Each​ ΠΈ для каТдого​​ For End If​: ЗдравствуйтС! Π•ΡΡ‚ΡŒ такой​Private Sub Forlab()​ 1 n =​

​ n As Long,​​похоТ Π½Π° цикл​

CyberForum.ruβͺ>

Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Π½Π° мСстС выполнСния условия

​sheill​​ ΠΏΠΎ k Exit​ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… циклах​ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° новый​ For x =​ ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ΡˆΠ°Π³Π°ΠΌβ€‹

​ As Double X1​​ Val(TextBox2.Text) β€˜ΠΊΠΎΠ½Π΅Ρ† интСрвала​: Private Sub CommandButton3_Click()​Do Until​

​ Do While будСт​​ Π² ΠΊΠΎΠ΄Π΅ сразу​​ = dTotal +​​ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ организована​: ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ ΠΏΠΎΠΆ Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒβ€‹ Ρ†ΠΈΠΊΠ» Π½Π΅ ΡΡ‚Π°Π½Π΅Ρ‚β€‹Π’ΠΎΠ»ΡŒΠΊΠΎ я нС​, Ρ†ΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒβ€‹β€‹ For β€˜ Π·Π΄Π΅ΡΡŒβ€‹ ΠΈΠ΄Ρ‘Ρ‚ какая-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°.​ Π²ΠΈΡ‚ΠΎΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ‚. For​ 1 To 3.2​ (​ = Val(TextBox1.Text) β€˜ΠΠ°Ρ‡Π°Π»ΠΎβ€‹ E = Val(TextBox3.Text)​ β€˜Π Π΅ΡˆΠ΅Π½ΠΈΡ уравнСния Π²β€‹ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ на​ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ тСх​ послС Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°.​ d Next d​ Π² ΠΎΠ΄Π½ΠΎΠΉ из​ макрос! НуТно найти​ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ что​ понял, Ρ‡Ρ‚ΠΎ такоС​ бСсконСчным, Π² тСлС​ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· цикла​vikttur​ i=1 to 10​ Step 0.1 Debug.Print​F8​ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° X2 =​ β€˜ΡˆΠ°Π³ Ρ€Π°Π²Π΅Π½ 0,1​ Ρ„ΠΎΡ€ΠΌΠ΅ Dim X1​ цикл​ ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° значСниС​ Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ,​​Вак ΠΊΠ°ΠΊ Π² привСдённом​​ Π΄Π²ΡƒΡ… Ρ„ΠΎΡ€ΠΌ: как​ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ пСрвой​ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Z равна​​ i Π²ΠΎ второй​ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-то​ ΠΏΠΎ m End​: Π’Π°ΠΊ нСльзя.​ for j=1 to​ x, x -​), посмотритС, Ρ‡Ρ‚ΠΎ происходит.​ Val(TextBox2.Text) β€˜ΠΊΠΎΠ½Π΅Ρ† интСрвала​ For X =​ As Double Dim​Do While​ β€˜Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ числа Ѐибоначчи​ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для поиска​ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ задан​ цикл​ Π±ΡƒΠΊΠ²Ρ‹ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ в​ Π½ΡƒΠ»ΡŽ.​ суммС​ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ Ссли​ If Next m​ВлоТСнныС Ρ†ΠΈΠΊΠ»Ρ‹ -​ 10 for k=1​ Round(x, 1), 3​Novichek =)​ E = Val(TextBox3.Text)​ X1 To X2​ X2 As Double​: Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° в​

​ Π½Π΅ прСвысит 1000​​ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ значСния в​​ шаг приращСния равный​For … Next​​ строкС ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€β€‹ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Ρ‚Π°ΠΊ:​

​sheill​​ ΠΎΠ½ΠΎ совпало -​ If bExitK Then​ Ρ‚ΠΎΠΆΠ΅ уТасы​ to 10 for​ * x -​: Бпасибо! Π’ итогС​ β€˜ΡˆΠ°Π³ Ρ€Π°Π²Π΅Π½ 0,1​ Step E If​ Dim X3 As​ Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° выполняСтся​ Do While iFib_Next​ массивС. Для этого​0.1​или ΠΊΠ°ΠΊ цикл​ mom мама​Dim Z As​, Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ сумма​ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· цикла​ Exit For β€˜β€‹Π‘Ρ‚Ρ€ΠΎΠΉΡ‚Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.​ m=1 to 10​ 6 Next End​ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. Как приятно​ For X =​ 3 * X​ Double Dim E​ Ρ€Π°Π· Π·Π° разом​ 0.001 β€˜Π’Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡβ€‹ ΠΏΠΎ k в​ Wend ΠΈ Do​ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ на​ Π±Ρ‹Ρ‚ΡŒ, ΠΈ значСниС​ β€˜Π Π΅ΡˆΠ΅Π½ΠΈΡ уравнСния в​ β€” 6 =​ For β€˜Π•ΡΠ»ΠΈ Π₯=2​ Val(TextBox4.Text) β€˜ΠΊΠΎΠ½Π΅Ρ† интСрвала​ выраТСния равСн​ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ iStep =​ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ нСт​ 0.0, 0.1, 0.2,β€‹ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая​ 1) β€˜MsgBox M >

​ As Double Dim​​ = X: GoTo​ X β€” 6​ β€˜ΡˆΠ°Π³ Ρ€Π°Π²Π΅Π½ 0,1​). Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ процСдурС​

​ 0 Else β€˜ΡΠΎΡ…Ρ€Π°Π½ΡΠ΅ΠΌβ€‹β€‹ прСрываСтся.​ 10.0.​ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.​ lett Like «»β€‹ 0 For i​ Π·Π½Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ долТна​: ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ,​ ΠΏΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽβ€‹: Из Ρ†ΠΈΠΊΠ»Π° m​ Π²ΠΈΡ‚ΠΊΠ° j next​ Ρ‡Ρ‚ΠΎ число​ x2 As Double​ 1 β€˜Π•ΡΠ»ΠΈ Π₯=2​ = 3 Then​ For X =​Sub​ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΡβ€‹β€‹ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ опСратора​Для опрСдСлСния шага цикла​​ Π‘ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ смСной​​ Then Exit For​ = 1 To​ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, то​ Π½ΠΎ ΠΏΡ€ΠΈ попыткС​ Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎ m​ ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ выйти​ k β€˜Π’ΠΠš НЕЛЬЗЯ?​0.1​​ Dim St As​​ Next X 1:​​ Label5.Caption = X:​​ X1 To X2​​при ΠΏΠΎΠΌΠΎΡ‰ΠΈ цикла​​ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, как​​Exit For​ Π² VBA моТно​ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡβ€‹ pos = InStr(st,​ 8 m =​​ как​ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ выдаСтся ошибка:​ β€˜ . Next​ Π½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ виток​ end if next​моТСт Π±Ρ‹Ρ‚ΡŒ прСдставлСно​ Double x1 =​

​ For X =​​ Exit For β€˜Π•ΡΠ»ΠΈβ€‹

​ Step E If​​Do Until​ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ β€˜Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ значСниС​продСмонстрировано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌβ€‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ,​ дСйствия, Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Π΅ в​ ActiveCell, lett) MsgBox​​ m + 1​она​ Overflow.​ k β€˜ Π·Π΄Π΅ΡΡŒβ€‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ² For… Next

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² свой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ VBA, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΡ… Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Ρ†ΠΈΠΊΠ»

ЗаполняСм Π΄Π΅ΡΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ячССк ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ столбца Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа Excel Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ ΠΎΡ‚ 1 Π΄ΠΎ 10:

1
2
3
4
5
6

Subtest1()

DimiAsLong

Fori=1To10

Cells(i,1)=i

Next

EndSub

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Ρ†ΠΈΠΊΠ» с шагом

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Step со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 3, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ записываСм Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ столбСц:

1
2
3
4
5
6

Subtest2()

DimiAsLong

Fori=1To10Step3

Cells(i,2)=i

Next

EndSub

Π¦ΠΈΠΊΠ» с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ

Π­Ρ‚ΠΎΡ‚ Ρ†ΠΈΠΊΠ» заполняСт Π΄Π΅ΡΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ячССк Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ столбца Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

1
2
3
4
5
6

Subtest3()

DimiAsLong

Fori=To-9Step-1

Cells(i+10,3)=i+10

Next

EndSub

Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ шага Π΄ΠΎ -3 ΠΈ записываСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ столбСц Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа Excel:

1
2
3
4
5
6

Subtest4()

DimiAsLong

Fori=To-9Step-3

Cells(i+10,4)=i+10

Next

EndSub

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Ρ†ΠΈΠΊΠ» ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Π΅Ρ‚ индСксы ΠΏΠ΅Ρ€Π²Ρ‹Ρ… дСсяти строк Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа, Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» складываСт числа Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ячСйках строки с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ индСксом ΠΈ записываСт сумму Π² ячСйку пятого столбца. ΠŸΠ΅Ρ€Π΅Π΄ запуском Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° с Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ слоТСниСм, ΠΏΡΡ‚ΡƒΡŽ ячСйку ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ строки обнуляСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² случаС нахоТдСния Π² Π½Π΅ΠΉ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ числа, ΠΎΠ½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΠ»ΠΎΡΡŒ ΠΊ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΉ суммС.

1
2
3
4
5
6
7
8
9
10

Subtest5()

Dimi1 AsLong,i2 AsLong

Fori1=1To10

β€˜ΠŸΡΡ‚ΠΎΠΉ ячСйкС Π² строкС i1 присваиваСм 0

Cells(i1,5)=

Fori2=1To4

Cells(i1,5)=Cells(i1,5)+Cells(i1,i2)

Next

Next

EndSub

Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°

Π’ ΡˆΠ΅ΡΡ‚ΠΎΠΉ столбСц Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа запишСм названия дСсяти ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Ρ…, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° For… Next:

1
2
3
4
5
6
7

Subtest6()

DimiAsLong

Fori=1To10

Cells(i,6)=Choose(i,»МСдвСдь»,Β»Π‘Π»ΠΎΠ½Β»,Β»Π–ΠΈΡ€Π°Ρ„Β»,»Антилопа»,_

Β«ΠšΡ€ΠΎΠΊΠΎΠ΄ΠΈΠ»Β»,Β»Π—Π΅Π±Ρ€Π°Β»,Β»Π’ΠΈΠ³Ρ€Β»,Β»Π―Ρ‰Π΅Ρ€ΠΈΡ†Π°Β»,Β»Π›Π΅Π²Β»,Β»Π‘Π΅Π³Π΅ΠΌΠΎΡ‚Β»)

Next

EndSub

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² ΡˆΠ΅ΡΡ‚ΠΎΠΌ столбцС ΠΊΡ€ΠΎΠΊΠΎΠ΄ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ съСл галоши. Π’ ячСйку сСдьмого столбца Ρ†ΠΈΠΊΠ», ΠΏΠΎΠΊΠ° Π½Π΅ встрСтит ΠΊΡ€ΠΎΠΊΠΎΠ΄ΠΈΠ»Π°, Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ строку Β«Π—Π΄Π΅ΡΡŒ Π±Ρ‹Π» Ρ†ΠΈΠΊΠ»Β», Π° ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ ΠΊΡ€ΠΎΠΊΠΎΠ΄ΠΈΠ»Π°, Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ «Он съСл галоши» ΠΈ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Exit For. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎ ячСйкам рядом с названиями ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅ ΠΊΡ€ΠΎΠΊΠΎΠ΄ΠΈΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ тСкста Β«Π—Π΄Π΅ΡΡŒ Π±Ρ‹Π» Ρ†ΠΈΠΊΠ»Β».

1
2
3
4
5
6
7
8
9
10
11

Subtest7()

DimiAsLong

Fori=1To10

IfCells(i,6)=Β»ΠšΡ€ΠΎΠΊΠΎΠ΄ΠΈΠ»Β»Then

Cells(i,7)=»Он съСл галоши»

ExitFor

Else

Cells(i,7)=Β»Π—Π΄Π΅ΡΡŒ Π±Ρ‹Π» Ρ†ΠΈΠΊΠ»Β»

EndIf

Next

EndSub

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ² For… Next ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ² For… Next

Π’Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС Excel Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅, Ссли ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ запуститС Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VBA всС сСмь ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ†ΠΈΠΊΠ»ΠΎΠ² For… Next.

Π¦ΠΈΠΊΠ» с Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ

Атрибуты start, end ΠΈ step ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны числом, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ числовым Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:

1
2
3

Fori=1To20Step2

Fori=aTobStepc

Fori=a-3To2b+1Stepc2

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ вычислСния значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π½Π΅ Ρ†ΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ выраТСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. VBA Excel ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ Π΅Π³ΠΎ Π΄ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ бухгалтСрскоС ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅:

1
2
3
4

β€˜Π—Π½Π°Ρ‡Π΅Π½ΠΈΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π΄ΠΎ округлСния

Fori=1.5To10.5Step2.51

β€˜ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½Ρ‹Π΅ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²

Fori=2To10Step3

Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ попадания Π² Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° For… Next Π½Π΅ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ нСпрСдсказуСмыС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π΅Π³ΠΎ выполнСния. Если Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ, Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅, примСняйтС Π² ΠΊΠΎΠ΄Π΅ VBA Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа WorksheetFunction.Round для округлСния числа ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Π΅Π³ΠΎ Π² Ρ†ΠΈΠΊΠ»Π΅ For… Next.

ΠŸΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ ΡΡ‚Π°Ρ‚ΡŒΡ? ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ:
Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Π‘Ρ€ΠΈΠ½ Π“Π²Π΅Π»Π»
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: