Π¦ΠΈΠΊΠ» Π² ΡΠΈΠΊΠ»Π΅ vba: ΠΡΠ΅ ΡΠΈΠΊΠ»Ρ VBA Π² Excel ΡΠΈΡΠ°ΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅
ΠΡΠ΅ ΡΠΈΠΊΠ»Ρ VBA Π² Excel ΡΠΈΡΠ°ΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅
ΠΠ²ΡΠΎΡ ΠΠΌΠΈΡΡΠΈΠΉ Π―ΠΊΡΡΠ΅Π² ΠΠ° ΡΡΠ΅Π½ΠΈΠ΅ 13 ΠΌΠΈΠ½. ΠΡΠΎΡΠΌΠΎΡΡΠΎΠ² 12.3k.
Π Π°ΠΌΠ°ΠΊΡΠΈΡΠ½Π°, ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΠΈΠ½Π΄ΠΈΠΉΡΠΊΠΎΠΉ ΠΌΡΠ΄ΡΠΎΡΡΠΈ
Π‘Π΅ΠΉΡΠ°Ρ β¦ ΠΌΡ ΠΈΠ΄Π΅ΠΌ ΠΏΠΎ ΠΊΡΡΠ³Ρ
ΠΡΠ° ΡΡΠ°ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ VBA Do While ΠΈ VBA While Loops. (ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠ΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΊΠ»Π°Ρ VBA For ΠΈ For Each, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΡΡΠ΄Π°)
Π¦ΠΈΠΊΠ» VBA While ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΡΠΎ ΡΡΠ°ΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Microsoft ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» Do Loop, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ Β«ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ ΠΈ Π³ΠΈΠ±ΠΎΠΊΒ». ΠΠ±Π° ΡΡΠΈΡ ΡΠΈΠΊΠ»Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅.
ΠΠ»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π½ΠΈΠΆΠ΅.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠ΅ΡΠ΅ ΡΡΠΎ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅.
ΠΡΠ°ΡΠΊΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ VBA While Loops
Π€ΠΎΡΠΌΠ°Ρ ΡΠΈΠΊΠ»Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΡΠΈΠΌΠ΅Ρ |
Do While β¦ Loop | ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ 0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ | DoΒ WhileΒ result =Β Β«ΠΠ΅ΡΠ½ΠΎΒ» Loop |
Do β¦ Loop While | ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ 1 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ | DoΒ LoopΒ WhileΒ result =Β Β«ΠΠ΅ΡΠ½ΠΎΒ» |
Do Until β¦ Loop | ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ 0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ | DoΒ UntilΒ result <>Β Β«ΠΠ΅ΡΠ½ΠΎΒ» Loop |
Do β¦ Until Loop | ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ 1 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ | DoΒ LoopΒ UntilΒ result <>Β Β«ΠΠ΅ΡΠ½ΠΎΒ» |
While β¦ Wend R | ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ 0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ. ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΡΠΎΡ ΡΠΈΠΊΠ» ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ. | WhileΒ result =Β Β«ΠΠ΅ΡΠ½ΠΎΒ» Wend |
Exit the Do Loop | ΠΠ°Π²Π΅ΡΡΠ°Π΅Ρ Do | DoΒ WhileΒ i < 10 Β Β Β i = GetTotal Β Β Β IfΒ i < 0Β Then Β Β Β Β Β Β ExitΒ Do Β Β Β EndΒ If Loop |
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠ°Π½Π΅Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΈΠΊΠ»Ρ, ΡΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Β«Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠΊΠ»Ρ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΡΒ» ΠΈΠ· ΠΌΠΎΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ° Π² ΠΆΡΡΠ½Π°Π»Π΅ For Loop.
Π― ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π° Do Loop Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. ΠΠ°ΠΊ Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» Π²ΡΡΠ΅, ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ ΡΠΈΠΊΠ» While Wend ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ. ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠΈΠ» Π² ΡΡΡ ΡΡΠ°ΡΡΡ.
ΠΡΠ°ΠΊ, Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠΈΠΊΠ»Ρ Do While, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΡΠΈΠΊΠ»Ρ For?
Π¦ΠΈΠΊΠ» For ΠΏΡΠΎΡΠΈΠ² ΡΠΈΠΊΠ»Π° Do While
ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΈΠΊΠ» For Loop, ΠΌΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π½Π°Π΅ΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Ρ ΠΎΡΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΈΠΊΠ» ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ.
' Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ 5 ΡΠ°Π· For i = 1 To 5 ' Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ For i = 1 To coll.Count ' Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² arr For i = LBound(arr) To coll.lbound(arr) ' Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡ 1 Π΄ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² lastRow For i = 1 To lastRow ' Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ For Each s In coll
Π¦ΠΈΠΊΠ» Do Π΄ΡΡΠ³ΠΎΠΉ. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
- Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²Π΅ΡΠ½ΠΎ
- ΠΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΊΠ»ΠΎΠ² Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠ°ΠΊ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΌΡ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ?
Π£ΡΠ»ΠΎΠ²ΠΈΡ
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ β ΡΡΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅ ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎΠ΅. ΠΠ½ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ Loops ΠΈ If. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΠΊΠΈ, ΠΊΠ°ΠΊ >, <, <>,> =, =.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ | ΠΡΡΠΈΠ½Π°, ΠΊΠΎΠ³Π΄Π°β¦ |
x < 5 | x ΠΌΠ΅Π½ΡΡΠ΅ 5 |
x <= 5 | x ΠΌΠ΅Π½ΡΡΠ΅ Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π΅Π½ 5 |
x > 5 | x Π±ΠΎΠ»ΡΡΠ΅ 5 |
x >= 5 | x Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π΅Π½ 5 |
x = 5 | x ΡΠ°Π²Π΅Π½ 5 |
x <> 5 | x Π½Π΅ ΡΠ°Π²Π΅Π½ 5 |
x > 5 And x < 10 | x Π±ΠΎΠ»ΡΡΠ΅ 5 Π ΠΌΠ΅Π½ΡΡΠ΅ 10 |
x = 2 Or x >10 | x ΡΠ°Π²Π΅Π½ 2 ΠΠΠ Π±ΠΎΠ»ΡΡΠ΅ 10 |
Range(Β«A1Β») = Β«ΠΠ²Π°Π½Β» | Π―ΡΠ΅ΠΉΠΊΠ° A1 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΠΊΡΡ Β«ΠΠ²Π°Π½Β» |
Range(Β«A1Β») <> Β«ΠΠ²Π°Π½Β» | Π―ΡΠ΅ΠΉΠΊΠ° A1 Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΠΊΡΡ Β«ΠΠ²Π°Π½Β» |
ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ x = 5 ΠΊΠ°ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΠ΅. ΠΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠ°ΡΡ Ρ Ρ = 5, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ
' ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 6 Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² Ρ x = 6 ' ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ: Ρ ΡΠ°Π²Π΅Π½ 6? If x = 6 ' ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ: Ρ ΡΠ°Π²Π΅Π½ 6? Do While x = 6
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Β«=Β» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ .
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Β«=Β» | Π’ΠΈΠΏ | ΠΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ |
LoopΒ UntilΒ x = 5 | Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ | x ΡΠ°Π²Π΅Π½ 5? |
DoΒ WhileΒ x = 5 | Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ | x ΡΠ°Π²Π΅Π½ 5? |
IfΒ x = 5Β Then | Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ | x ΡΠ°Π²Π΅Π½ 5? |
ForΒ x = 1Β ToΒ 5 | ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ | Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x = 1, Π·Π°ΡΠ΅ΠΌ = 2 ΠΈ Ρ.Π΄. |
x = 5 | ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ | Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x=5 |
b = 6 = 5 | ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ | ΠΡΠΈΡΠ²ΠΎΠΉΡΠ΅ b ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ 6 = 5 |
x = MyFunc(5,6) | ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ | ΠΡΠΈΡΠ²ΠΎΠΉΡΠ΅ Ρ
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ |
Π€ΠΎΡΠΌΠ°Ρ ΡΠΈΠΊΠ»Π° Do
Π¦ΠΈΠΊΠ» Do ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΠΈ ΡΡΠΎ ΡΠ°ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΡΠ°Π½ΠΈΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡΡΠΈΡ ΡΠ΅ΡΡΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°Π·Π½ΠΈΡΠ°.
Do Π²ΡΠ΅Π³Π΄Π° Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π° Loop Π²ΡΠ΅Π³Π΄Π° Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠΈ.
Do Loop
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π»ΡΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Do [ΡΡΠ»ΠΎΠ²ΠΈΠ΅] Loop Do Loop [ΡΡΠ»ΠΎΠ²ΠΈΠ΅]
Π£ΡΠ»ΠΎΠ²ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΠ΅Ρ While ΠΈΠ»ΠΈ Until, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π°Π΅Ρ Π½Π°ΠΌ ΡΡΠΈ ΡΠ΅ΡΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
Do While [ΡΡΠ»ΠΎΠ²ΠΈΠ΅] Loop Do Until [ΡΡΠ»ΠΎΠ²ΠΈΠ΅] Loop Do Loop While [ΡΡΠ»ΠΎΠ²ΠΈΠ΅] Do Loop Until [ΡΡΠ»ΠΎΠ²ΠΈΠ΅]
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ ΡΡΠΎ.
ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΠ»Π° Do
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π» ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π²Ρ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΠ΅ Π΅Π³ΠΎ Π² Β«Immediate WindowΒ». ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΡΡΠ²Π°Π»ΠΎΡΡ.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ» For Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΈΠ»ΠΈ Ρ ΡΠΎΡΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΡΠ΅Π½Π°ΡΠΈΡ Π²Ρ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΈΠΊΠ» Do.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ
Dim sCommand As String Do ' ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ") ' ΠΠ΅ΡΠ°ΡΡ Π² Immediate Window (Ctrl + G Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°) Debug.Print sCommand Loop While sCommand <> ""
ΠΠΎΠ΄ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΈΠΊΠ» ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΡΡΡΠΎΠΊΠΈ Β«Loop WhileΒ». ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅ ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎΠ΅.
ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΠΎΠ΅, ΡΠΎ ΠΊΠΎΠ΄ Π²ΡΡ
ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ.
ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅, ΡΠΎ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΡΡΠΎΠΊΠ΅ Do ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠΈΠΊΠ».
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° Π»ΠΈΠ½ΠΈΠΈ Do ΠΈ Π½Π° Π»ΠΈΠ½ΠΈΠΈ Loop ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°.
ΠΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅ Do, ΡΠΈΠΊΠ» ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π’Π°ΠΊ ΡΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·.
ΠΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π»ΠΈΠ½ΠΈΠΈ Loop, ΡΠΈΠΊΠ» Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. Π’Π°ΠΊ ΡΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅ Loop, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ±Π΅ Π²Π΅ΡΡΠΈΠΈ ΡΠΈΠΊΠ»Π°. Π¦ΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π²Π²Π΅Π΄Π΅Ρ Π±ΡΠΊΠ²Ρ Β«Π½Β».
Sub GetInput() Dim sCommand As String ' Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π² Π½Π°ΡΠ°Π»Π΅ Do While sCommand <> "Π½" sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° 1") Loop ' Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ Do sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° 2") Loop While sCommand <> "Π½" End Sub
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±Π° ΡΠΈΠΊΠ»Π° Π±ΡΠ΄ΡΡ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π΄Π»Ρ sCommand Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«Π½Β» Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° Β«Do WhileΒ», ΠΊΠΎΠ΄ Π½Π΅ Π²ΠΎΠΉΠ΄Π΅Ρ Π² ΡΠΈΠΊΠ».
Sub GetInput2() Dim sCommand As String sCommand = "Π½" ' Π¦ΠΈΠΊΠ» Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° "Π½" Do Whilel sCommand <> "Π½" sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° 1") Loop ' Π¦ΠΈΠΊΠ» Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Do sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° 2") Loop While sCommand <> "Π½" End Sub
ΠΡΠΎΡΠΎΠΉ ΡΠΈΠΊΠ» Π² Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ (ΡΠΎ Π΅ΡΡΡ Loop While) Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
While ΠΏΡΠΎΡΠΈΠ² Until
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Do Loop ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Until ΠΈΠ»ΠΈ While.
Until ΠΈ While, ΠΏΠΎ ΡΡΡΠΈ, ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ. ΠΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² VBA Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- ΠΡΡΠ°Π²ΡΡΠ΅ ΠΎΠ΄Π΅ΠΆΠ΄Ρ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΉΠ΄Π΅Ρ Π΄ΠΎΠΆΠ΄Ρ
- ΠΡΡΠ°Π²Ρ ΠΎΠ΄Π΅ΠΆΠ΄Ρ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΠ΄Π΅Ρ Π΄ΠΎΠΆΠ΄Ρ
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
- ΠΡΡΠ°Π²Π°ΠΉΡΡ Π² ΠΏΠΎΡΡΠ΅Π»ΠΈ, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΡΠ²Π΅ΡΠ»ΠΎ
- ΠΡΡΠ°Π²Π°ΠΉΡΡ Π² ΠΏΠΎΡΡΠ΅Π»ΠΈ, ΠΏΠΎΠΊΠ° ΡΠ΅ΠΌΠ½ΠΎ
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ:
- ΠΏΠΎΠ²ΡΠΎΡΡΡΡ, ΠΏΠΎΠΊΠ° ΡΠΈΡΠ»ΠΎ Π½Π΅ ΡΡΠ°Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ Π΄Π΅ΡΡΡΠΈ
- ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΠΎΠΊΠ° ΡΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ Π΄Π΅ΡΡΡΠΈ
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Until ΠΈ While β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΡ Until ΠΈ While
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΠΊΠ»Ρ Β«WhileΒ» ΠΈ Β«UntilΒ» ΡΡΠ΄ΠΎΠΌ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π·Π½Π°ΠΊΠΈ <> ΠΎΠ·Π½Π°ΡΠ°ΡΡ Β«Π½Π΅ ΡΠ°Π²Π½ΠΎΒ».
Sub GetInput() Dim sCommand As String ' Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π² Π½Π°ΡΠ°Π»Π΅ Do Until sCommand = "Π½" sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° 1") Loop Do While sCommand <> "Π½" sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° 1") Loop ' Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ Do sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° 2") Loop Until sCommand = "Π½" Do sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° 2") Loop While sCommand <> "Π½" End Sub
- ΠΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΊΠ»: Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ sCommand Π½Π΅ ΡΠ°Π²Π΅Π½ βΠ½β.
- ΠΡΠΎΡΠΎΠΉ ΡΠΈΠΊΠ»: Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ sCommand Π½Π΅ ΡΠ°Π²Π΅Π½ βΠ½β.
- Π’ΡΠ΅ΡΠΈΠΉ ΡΠΈΠΊΠ»: Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ sCommand.
- Π§Π΅ΡΠ²Π΅ΡΡΡΠΉ ΡΠΈΠΊΠ»: Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ sCommand.
ΠΡΠΈΠΌΠ΅Ρ: ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Until ΠΈ While ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ Π±ΡΠ» Π½Π°Π·Π½Π°ΡΠ΅Π½, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Nothing.
ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Nothing, ΠΏΠΎΠΊΠ° ΠΌΡ Π½Π΅ Π½Π°Π·Π½Π°ΡΠΈΠΌ Π΅Π΅ Workbook.
Dim wrk As Workbook
ΠΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ Nothing Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Nothing, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ: GetFirstWorkbook ΠΈ GetNextWorkbook, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΈΠΌΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π²Π΅ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡΡ ΠΊΠ½ΠΈΠ³Ρ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π·Π΄Π΅ΡΡ:
Dim wrk As Workbook Set wrk = GetFirstWorkbook() Do Until wrk Is Nothing Debug. Print wrk.Name Set wrk = GetNextWorkbook() Loop
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Do While Π±ΡΠ»ΠΎ Π±Ρ Π±ΠΎΠ»Π΅Π΅ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Not Is Nothing
Dim wrk As Workbook Set wrk = GetFirstWorkbook() Do While Not wrk Is Nothing Debug.Print wrk.Name Set wrk = GetNextWorkbook() Loop
ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ΅ΡΠΊΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ β Π²ΡΠ΅Π³Π΄Π° Ρ ΠΎΡΠΎΡΠΎ. Π§Π΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ, ΠΈ Π²ΡΠ±ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ Β«WhileΒ» ΠΈ Β«UntilΒ» Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π»ΠΈΡΠ½ΠΎΠΌΡ Π²ΡΠ±ΠΎΡΡ.
Π¦ΠΈΠΊΠ» Exit Do
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΉΡΠΈ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Do Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Exit Do.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Exit Do
Do While i < 1000 If Cells(i,1) = "ΠΠ°ΠΉΠ΄Π΅Π½ΠΎ" Then Exit Do End If i = i + 1 Loop
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΡΡ ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΡΠΈΠΊΠ»Π° Do Loop, Π΅ΡΠ»ΠΈ ΡΡΠ΅ΠΉΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΠΊΡΡ Β«ΠΠ°ΠΉΠ΄Π΅Π½ΠΎΒ».
While Wend
ΠΡΠΎΡ ΡΠΈΠΊΠ» Π² VBA, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΡΠΎ ΡΡΠ°ΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Microsoft ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ Do, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ.
ΠΠ· MSDN: Β«ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Doβ¦ Loop ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ²Β».
Π€ΠΎΡΠΌΠ°Ρ ΡΠΈΠΊΠ»Π° VBA While Wend
Π¦ΠΈΠΊΠ» VBA While ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ:
WhileΒ <Π£ΡΠ»ΠΎΠ²ΠΈΠ΅>
Wend
While Wend ΠΏΡΠΎΡΠΈΠ² Do
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ VBA While ΠΈ VBA Do Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ:
- While ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π°.
- While Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΡΠΈΠΈ Until.
- ΠΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° While, ΠΊΠ°ΠΊ Exit For ΠΈΠ»ΠΈ Exit Do.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° VBA While ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° VBA Do While. ΠΠ²Π° ΡΠΈΠΊΠ»Π° Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅.
Sub GetInput() Dim sCommand As String Do While sCommand <> "Π½" sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° 1") Loop While sCommand <> "Π½" sCommand = InputBox("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° 2") Wend End Sub
ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ΄ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ, Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π²Ρ ΡΠ»ΡΡΠ°Π»ΠΈ ΡΡΠ°Π·Ρ Β«ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»Β». ΠΡΠΎ ΡΠΈΠΊΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°Π±ΡΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ΅ΡΡΠΈΠΊ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»
Dim cnt As Long cnt = 1 'ΡΡΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» Do While cnt <> 5 Loop
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ cnt ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² 1, Π½ΠΎ ΠΎΠ½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ β cnt Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ 5.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ cnt ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ.
Dim cnt As Long cnt = 1 Do While cnt <> 5 cnt = cnt + 1 Loop
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ For Loop Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΡΠ΅Ρ Π² ΡΠΈΠΊΠ»Π΅. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΊΠ» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ For.
Dim i As Long For i = 1 To 4 Next i
ΠΡΠΎ ΡΠ²Π½ΠΎ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ. Π¦ΠΈΠΊΠ» For ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈ ΡΡΠ΅Ρ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ For β ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠΈΠ»ΠΈΠΉ π
Dim i As Long ' ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» For i = 1 To 4 ' i Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ 4 i = 1 Next i
Π Π°Π±ΠΎΡΠ° Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ
ΠΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» β VBA Π½Π΅ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. ΠΠ°Ρ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Visual Basic Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ.
Π Π°Π½ΡΡΠ΅ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π°, ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°Π² Ctrl ΠΈ Break. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·Π½ΡΠ΅ Π½ΠΎΡΡΠ±ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡ. ΠΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ Π² Π²Π°ΡΠ΅ΠΌ Π½ΠΎΡΡΠ±ΡΠΊΠ΅, ΡΡΠΎΠ±Ρ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ΄.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π°, ΡΠ±ΠΈΠ² ΠΏΡΠΎΡΠ΅ΡΡ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Ctrl + Shift + Esc. ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΡΠΎΡΠ΅ΡΡΡ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ Excel / Microsoft Excel. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠ°Π²Π΅ΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡΒ». ΠΡΠΎ Π·Π°ΠΊΡΠΎΠ΅Ρ Excel, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠ΅ΡΡΡΡ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ β ΡΠ°ΠΊ ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ctrl + Break ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Worksheet Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΊΠ»ΠΎΠ²
ΠΠ½ΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π»ΠΈΡΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΊΠ»Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ΅Π΅ΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π°, Π½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ Sum. ΠΡΠΎ Π±ΡΡΡΡΠ΅Π΅ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Sum ΠΈ Count.
Sub WorksheetFunctions() Debug.Print WorksheetFunction.Sum(Range("A1:A10")) Debug.Print WorksheetFunction.Count(Range("A1:A10")) End Sub
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΊΠ» Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ΅Π»ΠΈ.
Sub SumWithLoop() Dim total As Long, count As Long Dim rg As Range For Each rg In Range("A1:A10") ' Total total = total + rg ' Count If rg <> "" Then count = count + 1 End If Next rg Debug.Print total Debug.Print count End Sub
Π Π΅Π·ΡΠΌΠ΅
Π¦ΠΈΠΊΠ» Do While
- Π¦ΠΈΠΊΠ» Do ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 4 ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ.
- ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅, Do While .. Loop, Do β¦ Loop While
- ΠΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ Until Π² Π½Π°ΡΠ°Π»Π΅ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅, Do Until . . Loop, Do β¦ LoopΒ Until
- While ΠΈ Until ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄ΡΡΠ³ ΠΊ Π΄ΡΡΠ³Ρ.
- ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ.
- ΠΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π°.
Π¦ΠΈΠΊΠ» While Wend
- Π¦ΠΈΠΊΠ» Wend Wend ΡΡΡΠ°ΡΠ΅Π», ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» Do.
VBA Excel. Π¦ΠΈΠΊΠ» For… Next
Π¦ΠΈΠΊΠ» Forβ¦ Next Π² VBA Excel, Π΅Π³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»Π° Forβ¦ Next.
Π¦ΠΈΠΊΠ» Forβ¦ Next Π² VBA Excel ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π³ΡΡΠΏΠΏΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π° β ΡΡΠ΅ΡΡΠΈΠΊΠΎΠΌ. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π½Π° ΡΠΈΡΠ»ΠΎ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Step, ΠΈΠ»ΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΠ» ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π² Π³ΡΡΠΏΠΏΠ΅ (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ) Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» For Eachβ¦ Next.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° Forβ¦ Next
For counter = start To end [ Step step ] Β Β Β Β [ statements ] Β Β Β Β [ Exit For ] Β Β Β Β [ statements ] Next [ counter ] |
For ΡΡΠ΅ΡΡΠΈΠΊ = Π½Π°ΡΠ°Π»ΠΎ To ΠΊΠΎΠ½Π΅Ρ [ Step ΡΠ°Π³ ] Β Β Β Β [ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ] Β Β Β Β [ Exit For ] Β Β Β Β [ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ] Next [ ΡΡΠ΅ΡΡΠΈΠΊ ] |
Π ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΡΠΊΠ°Π·Π°Π½Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠΈΠΊΠ»Π° Forβ¦ Next.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΈΠΊΠ»Π° Forβ¦ Next
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
counter | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ. Π§ΠΈΡΠ»ΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ ΡΠΎΠ»Ρ ΡΡΠ΅ΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π°. |
start | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ. Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°ΡΡΠ΅Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ°. |
end | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ. Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°ΡΡΠ΅Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ°. |
Step* | ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π΄Π°Π½ ΡΠ°Π³ ΡΠΈΠΊΠ»Π°. |
step | ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ. Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°ΡΡΠ΅Π΅ ΡΠ°Π³ ΡΠΈΠΊΠ»Π°. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ, ΡΠ°ΠΊ ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ. |
statements | ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ** Π°ΡΡΠΈΠ±ΡΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. |
Exit For | ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° Π΄ΠΎ Π΅Π³ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ. |
Next [ counter ] | ΠΠ΄Π΅ΡΡ counter β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ. ΠΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠΌΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ. |
*ΠΡΠ»ΠΈ Π°ΡΡΠΈΠ±ΡΡ Step ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΡΠΈΠΊΠ» Forβ¦ Next Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΡΠ°Π³ΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠ°Π²Π½ΠΎΠΌΡ 1.
**ΠΡΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠΈΠΊΠ»Π΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, ΡΠΌΡΡΠ» ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° ΡΠ΅ΡΡΠ΅ΡΡΡ.
ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΠ»ΠΎΠ² Forβ¦ Next
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΠ»ΠΎΠ² Π² ΡΠ²ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ VBA, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠΈΠΊΠ»
ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π΄Π΅ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠ΅Π΅ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠ° Excel ΡΠΈΡΡΠ°ΠΌΠΈ ΠΎΡ 1 Π΄ΠΎ 10:
Sub test1() Dim i As Long Β Β For i = 1 To 10 Β Β Β Β Cells(i, 1) = i Β Β Next End Sub |
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠΈΠΊΠ» Ρ ΡΠ°Π³ΠΎΠΌ
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠΈΠΊΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Step ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 3, Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΡΠΎΠ»Π±Π΅Ρ:
Sub test2() Dim i As Long Β Β For i = 1 To 10 Step 3 Β Β Β Β Cells(i, 2) = i Β Β Next End Sub |
Π¦ΠΈΠΊΠ» Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΡΠΎΡ ΡΠΈΠΊΠ» Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π΅ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠ΅Π΅ΠΊ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
Sub test3() Dim i As Long Β Β For i = 0 To -9 Step -1 Β Β Β Β Cells(i + 10, 3) = i + 10 Β Β Next End Sub |
Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°Π³Π° Π΄ΠΎ -3 ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠ° Excel:
Sub test4() Dim i As Long Β Β For i = 0 To -9 Step -3 Β Β Β Β Cells(i + 10, 4) = i + 10 Β Β Next End Sub |
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ»
ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π΄Π°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΏΠ΅ΡΠ²ΡΡ Π΄Π΅ΡΡΡΠΈ ΡΡΡΠΎΠΊ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠ°, Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΡΠΈΡΠ»Π° Π² ΠΏΠ΅ΡΠ²ΡΡ ΡΠ΅ΡΡΡΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠ°Ρ ΡΡΡΠΎΠΊΠΈ Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠΌΠΌΡ Π² ΡΡΠ΅ΠΉΠΊΡ ΠΏΡΡΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°. ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Ρ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΡΡΡΡ ΡΡΠ΅ΠΉΠΊΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΎΠ±Π½ΡΠ»ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² Π½Π΅ΠΉ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠΈΡΠ»Π°, ΠΎΠ½ΠΎ Π½Π΅ ΠΏΡΠΈΠ±Π°Π²ΠΈΠ»ΠΎΡΡ ΠΊ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡΡΠΌΠΌΠ΅.
Sub test5() Dim i1 As Long, i2 As Long Β Β For i1 = 1 To 10 ‘ΠΡΡΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅ Π² ΡΡΡΠΎΠΊΠ΅ i1 ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ 0 Β Β Β Β Cells(i1, 5) = 0 Β Β Β Β Β Β For i2 = 1 To 4 Β Β Β Β Β Β Β Β Cells(i1, 5) = Cells(i1, 5) + Cells(i1, i2) Β Β Β Β Β Β Next Β Β Next End Sub |
ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠΈΠΊΠ»Π°
Π ΡΠ΅ΡΡΠΎΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΡ Π΄Π΅ΡΡΡΠΈ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ , ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° Forβ¦ Next:
Sub test6() Dim i As Long Β Β For i = 1 To 10 Β Β Β Β Cells(i, 6) = Choose(i, «ΠΠ΅Π΄Π²Π΅Π΄Ρ», «Π‘Π»ΠΎΠ½», «ΠΠΈΡΠ°Ρ», «ΠΠ½ΡΠΈΠ»ΠΎΠΏΠ°», _ Β Β Β Β «ΠΡΠΎΠΊΠΎΠ΄ΠΈΠ»», «ΠΠ΅Π±ΡΠ°», «Π’ΠΈΠ³Ρ», «Π―ΡΠ΅ΡΠΈΡΠ°», «ΠΠ΅Π²», «ΠΠ΅Π³Π΅ΠΌΠΎΡ») Β Β Next End Sub |
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ Π² ΡΠ΅ΡΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ ΠΊΡΠΎΠΊΠΎΠ΄ΠΈΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π» Π³Π°Π»ΠΎΡΠΈ. Π ΡΡΠ΅ΠΉΠΊΡ ΡΠ΅Π΄ΡΠΌΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° ΡΠΈΠΊΠ», ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡ ΠΊΡΠΎΠΊΠΎΠ΄ΠΈΠ»Π°, Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Β«ΠΠ΄Π΅ΡΡ Π±ΡΠ» ΡΠΈΠΊΠ»Β», Π° ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ ΠΊΡΠΎΠΊΠΎΠ΄ΠΈΠ»Π°, Π·Π°ΠΏΠΈΡΠ΅Ρ Β«ΠΠ½ ΡΡΠ΅Π» Π³Π°Π»ΠΎΡΠΈΒ» ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Exit For. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎ ΡΡΠ΅ΠΉΠΊΠ°ΠΌ ΡΡΠ΄ΠΎΠΌ Ρ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ Π½ΠΈΠΆΠ΅ ΠΊΡΠΎΠΊΠΎΠ΄ΠΈΠ»Π°, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΠ° Β«ΠΠ΄Π΅ΡΡ Π±ΡΠ» ΡΠΈΠΊΠ»Β».
Sub test7() Dim i As Long Β Β For i = 1 To 10 Β Β Β Β If Cells(i, 6) = «ΠΡΠΎΠΊΠΎΠ΄ΠΈΠ»» Then Β Β Β Β Β Β Cells(i, 7) = «ΠΠ½ ΡΡΠ΅Π» Π³Π°Π»ΠΎΡΠΈ» Β Β Β Β Β Β Exit For Β Β Β Β Β Β Β Β Else Β Β Β Β Β Β Cells(i, 7) = «ΠΠ΄Π΅ΡΡ Π±ΡΠ» ΡΠΈΠΊΠ»» Β Β Β Β End If Β Β Next End Sub |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΈΠΊΠ»ΠΎΠ² Forβ¦ Next ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΈΠΊΠ»ΠΎΠ² Forβ¦ Next
Π’Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ Π»ΠΈΡΡΠ΅ Excel Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅Β Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ VBAΒ Π²ΡΠ΅ ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΠΊΠ»ΠΎΠ² Forβ¦ Next.
Π¦ΠΈΠΊΠ» Ρ Π΄ΡΠΎΠ±Π½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΡΡΠΈΠ±ΡΡΡ start, end ΠΈ step ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠΈΡΠ»ΠΎΠΌ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:
For i = 1 To 20 Step 2 For i = a To b Step c For i = a — 3 To 2b + 1 Step c/2Β Β |
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π½Π΅ ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ Π΄ΡΠΎΠ±Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. VBA Excel ΠΎΠΊΡΡΠ³Π»ΠΈΡ Π΅Π³ΠΎ Π΄ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΡΡ Π³Π°Π»ΡΠ΅ΡΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅:
‘ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π΄ΠΎ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ For i = 1.5 To 10.5 Step 2.51 ‘ΠΠΊΡΡΠ³Π»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² For i = 2 To 10 Step 3Β Β |
Π‘ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π² ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° Forβ¦ Next Π½Π΅ΠΎΠΊΡΡΠ³Π»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π±Π΅Π· Π΄ΡΠΎΠ±Π½ΡΡ ΡΠΈΡΠ΅Π» Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ, Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅, ΠΏΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ Π² ΠΊΠΎΠ΄Π΅ VBA ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° WorksheetFunction.Round Π΄Π»Ρ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ Π² ΡΠΈΠΊΠ»Π΅ Forβ¦ Next.
Π¦ΠΈΠΊΠ»Ρ Π² VBA — ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
ΠΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ VBA ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΠΎΠ΄ΡΡΠ΄ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π½Π°Π±ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ (ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°). ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΠΊΠ»ΠΎΠ² VBA.
Π ΡΠΈΠΊΠ»Π°ΠΌ VBA ΠΎΡΠ½ΠΎΡΡΡΡΡ:
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ².
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΈΠΊΠ»Π° Β«ForΒ» Π² Visual Basic
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΈΠΊΠ»Π° For Π² Visual Basic ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ ΡΠΎΡΠΌ: ΠΊΠ°ΠΊ ΡΠΈΠΊΠ» For β¦ Next ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡΠΈΠΊΠ» For Each.
Π¦ΠΈΠΊΠ» Β«For β¦ NextΒ»
Π¦ΠΈΠΊΠ» For β¦ Next ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. Π‘ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΌΠ΅Π½ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π·Π°ΠΊΠ»ΡΡΡΠ½Π½ΡΠ΅ Π² ΡΠ΅Π»Π΅ ΡΠΈΠΊΠ»Π°. ΠΡΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΈΠ· ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
For i = 1 To 10 Total = Total + iArray(i) Next i
Π ΡΡΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΡΠΈΠΊΠ»Π΅ For β¦ Next ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1, 2, 3, β¦ 10, ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ VBA, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠΊΠ» ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° iArray Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Total.
Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°Π³ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° Π½Π΅ ΡΠΊΠ°Π·Π°Π½, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i ΠΎΡ 1 Π΄ΠΎ 10 ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠ΅ 1. ΠΠ΄Π½Π°ΠΊΠΎ, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΠΊΠ»Π°. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Step, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
For d = 0 To 10 Step 0.1 dTotal = dTotal + d Next d
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°Π΄Π°Π½ ΡΠ°Π³ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°Π²Π½ΡΠΉ 0.1, ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ dTotal Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0.0, 0.1, 0.2, 0.3, β¦ 9.9, 10.0.
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π³Π° ΡΠΈΠΊΠ»Π° Π² VBA ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΠ°ΠΊ:
For i = 10 To 1 Step -1 iArray(i) = i Next i
ΠΠ΄Π΅ΡΡ ΡΠ°Π³ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°Π²Π΅Π½ -1, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 10, 9, 8, β¦ 1.
Π¦ΠΈΠΊΠ» Β«For EachΒ»
Π¦ΠΈΠΊΠ» For Each ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΈΠΊΠ» For β¦ Next, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΡΡΡΡΡΠΈΠΊΠ°, ΡΠΈΠΊΠ» For Each Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΠΊΠ»Π° For Each Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π»ΠΈΡΡΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ Excel:
Dim wSheet As Worksheet For Each wSheet in Worksheets MsgBox "ΠΠ°ΠΉΠ΄Π΅Π½ Π»ΠΈΡΡ: " & wSheet.Name Next wSheet
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»Π° Β«Exit ForΒ»
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Exit For ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»Π°. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ΄Π΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² ΠΊΠΎΠ΄Π΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΊΠΎΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°ΠΉΠ΄Π΅Π½, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ β ΡΠΈΠΊΠ» ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Exit For ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΠ΄Π΅ΡΡ ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ 100 Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ dVal. ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΡΠΎ ΡΠΈΠΊΠ» ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ:
For i = 1 To 100 If dValues(i) = dVal Then IndexVal = i Exit For End If Next i
Π¦ΠΈΠΊΠ» Β«Do WhileΒ» Π² Visual Basic
Π¦ΠΈΠΊΠ» Do While Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Sub, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΠΊΠ»Π° Do While Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠΈΠ΅ 1000:
'ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Sub Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ, Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠΈΠ΅ 1000 Sub Fibonacci() Dim i As Integer 'ΡΡΡΡΡΠΈΠΊ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Dim iFib As Integer 'Ρ ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Dim iFib_Next As Integer 'Ρ ΡΠ°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Dim iStep As Integer 'Ρ ΡΠ°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ 'ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ i ΠΈ iFib_Next i = 1 iFib_Next = 0 'ΡΠΈΠΊΠ» Do While Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠΈΡ 1000 Do While iFib_Next < 1000 If i = 1 Then 'ΠΎΡΠΎΠ±ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ iStep = 1 iFib = 0 Else 'ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ 'ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ iStep = iFib iFib = iFib_Next End If 'Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅ A Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° 'Π² ΡΡΡΠΎΠΊΠ΅ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ i Cells(i, 1).Value = iFib 'Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π° 1 iFib_Next = iFib + iStep i = i + 1 Loop End Sub
Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ iFib_Next < 1000 ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π°. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π±Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ iFib_Next Π±ΡΠ»ΠΎ Π±Ρ Π±ΠΎΠ»ΡΡΠ΅ 1000, ΡΠΎ ΡΠΈΠΊΠ» Π±Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ Π½ΠΈ ΡΠ°Π·Ρ.
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» Do While β ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π² Π½Π°ΡΠ°Π»Π΅, Π° Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Ρ ΠΎΡΡ Π±Ρ ΡΠ°Π·, Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
Π‘Ρ Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΊΠ» Do While Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
Do ... Loop While iFib_Next < 1000
Π¦ΠΈΠΊΠ» Β«Do UntilΒ» Π² Visual Basic
Π¦ΠΈΠΊΠ» Do Until ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΈΠΊΠ» Do While: Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΡΠ΅Π»Π΅ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°Π· Π·Π° ΡΠ°Π·ΠΎΠΌ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ (ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°Π²Π΅Π½ True). Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Sub ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΠΊΠ»Π° Do Until ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²ΡΠ΅Ρ ΡΡΠ΅Π΅ΠΊ ΡΡΠΎΠ»Π±ΡΠ° A ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π² ΡΡΠΎΠ»Π±ΡΠ΅ Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ ΠΏΡΡΡΠ°Ρ ΡΡΠ΅ΠΉΠΊΠ°:
iRow = 1 Do Until IsEmpty(Cells(iRow, 1)) 'ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ΅ΠΉΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ dCellValues dCellValues(iRow) = Cells(iRow, 1).Value iRow = iRow + 1 Loop
Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ IsEmpty(Cells(iRow, 1)) Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Do Until, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ Π²Π·ΡΡΠ°Ρ ΡΡΠ΅ΠΉΠΊΠ° Π½Π΅ ΠΏΡΡΡΠ°.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΡΠΈΠΊΠ»Π° Do While, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΈΠΊΠ» Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°, Π²ΠΎΡ ΡΠ°ΠΊ:
Do ... Loop Until IsEmpty(Cells(iRow, 1))
ΠΡΠ΅Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΡΠΈ. ΠΠ°ΠΌ Π²Π°ΠΆΠ½ΠΎ Π²Π°ΡΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅:
VBA ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠΊΠ»Π°. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ
7.1 ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠΊΠ»Π°
7.2 ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ
7.1 ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠΊΠ»Π°.
Π¦ΠΈΠΊΠ»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. VBA ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΠΊΠ»Ρ:
For...Next For Each...Next Do... Loop
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ For . . . Next. ΠΠΎΠ³Π΄Π° ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΈΠΊΠ» For . . . Next. Π ΡΠΈΠΊΠ»Π΅ For ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠΌ ΡΠΈΠΊΠ»Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π°. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
For counter = start To end [Step increment] ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Next [counter]
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ counter (ΡΡΠ΅ΡΡΠΈΠΊ), start (Π½Π°ΡΠ°Π»ΠΎ ΡΠΈΠΊΠ»Π°), end (ΠΊΠΎΠ½Π΅Ρ ΡΠΈΠΊΠ»Π°) ΠΈ increment (ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠ΅) ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ increment ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ, ΡΠ°ΠΊ ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ ΠΎΠ½ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π΅Π½, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ start Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ end, ΠΈΠ½Π°ΡΠ΅ ΡΠΈΠΊΠ» Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ increment ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π΅Π½, ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ start Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π΅Π½ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° end, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π°. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Step Π½Π΅ Π·Π°Π΄Π°Π½, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° increment ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎ 1.
VBA Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΈΠΊΠ» For Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
1. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π° counter Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ start.
2. Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π° counter ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° end. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ counter Π±ΠΎΠ»ΡΡΠ΅, VBA Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π°. (ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° increment ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΎ VBA ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π° counter ΠΌΠ΅Π½ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° end.)
3. ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° statements.
4. Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π° counter Π½Π° 1 ΠΈΠ»ΠΈ Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° increment, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π·Π°Π΄Π°Π½.
5. ΠΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΡΠ°Π³ΠΈ ΡΠΎ 2 ΠΏΠΎ 4.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ: ΠΡΡΠΈΡΠ»ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ f(t)
ΠΏΡΠΈ Π·Π°Π΄Π°Π½Π½ΡΡ a, b, n, Π΅ΡΠ»ΠΈ t ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΡ a Π΄ΠΎ b Ρ ΡΠ°Π³ΠΎΠΌ Dt=(b-a)/(n-1).
Sub ΠΏΡΠΈΠΌΠ΅Ρ3() Dim f() As Single Dim a As Single, b As Single, t As Single, dt As Single Dim i As Integer, n As Integer Call read("a1", a) : Call read("b1", b) : Call read("c1", n) ReDim f(1 To n - 1) dt = (b - a) / (n - 1) : t = a Call out("a2", "i") : Call out("b2", "t") : Call out("c2", "f(t)") For i = 1 To n - 1 t = t + dt If t <= -1 Then f(i) = -1 ElseIf t > 1 Then f(i) = 1 Else f(i) = t End If Call out("a" & (2 + i), i) : Call out("b" & (2 + i), t) : Call out("c" & (2 + i), f(i)) Next i End Sub
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ For Each . . . Next
Π¦ΠΈΠΊΠ» For Each . . . Next ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΈΠΊΠ» For . . . Next, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°, Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·. ΠΠ½ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² Π½Π°Π±ΠΎΡΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΈΠΊΠ»Π° For Each . . . Next ΡΠ°ΠΊΠΎΠ²:
For Each element In group ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Next element
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° For Each . . . Next:
Β ΠΠ»Ρ Π½Π°Π±ΠΎΡΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ element ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° variant, ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° object ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ Π² Object Browser
Β ΠΠ»Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ element ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° Variant
Β ΠΠ΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» For Each . . . Next Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΈΠΏ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° variant Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΈΠΏΠ°
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Do…Loop
Π¦ΠΈΠΊΠ» Do ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Do . . . Loop, Π½ΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· Π½ΠΈΡ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π°. ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ If . . . Then ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ False (Π½ΡΠ»Ρ) ΠΈΠ»ΠΈ True (Π½Π΅ Π½ΡΠ»Ρ).
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Do . . . Loop ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ True (ΠΡΡΠΈΠ½Π°):
Do While ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Loop
ΠΡΠΏΠΎΠ»Π½ΡΡ ΡΡΠΎΡ ΡΠΈΠΊΠ», VBA ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ (False), ΠΎΠ½ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠΊΠ»Π°. ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΈΡΡΠΈΠ½Π½ΠΎ (True), VBA Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠΊΠ»Π°, ΡΠ½ΠΎΠ²Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Do While ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΈΠΊΠ», ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ Π½ΡΠ»Ρ ΠΈΠ»ΠΈ True (ΠΡΡΠΈΠ½Π°). ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½ΠΈ ΡΠ°Π·Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΎΠ½ΠΎ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ (False).
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ: ΠΡΡΠΈΡΠ»ΠΈΡΡ ΡΡΠΌΠΌΡ ΡΡΠ΄Π°
Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ.
Sub ΠΏΡΠΈΠΌΠ΅Ρ4() Dim e As Single, x As Single, s As Single Dim m As Single, p As Single, i As Single Call read("a1", x) : Call read("b1", e) s = 0: i = 1: m = 1: p = -1 Call out("a2", "i") : Call out("b2", "m") : Call out("c2", "s") Do While Abs(m) >= e p = -p * x m = p / i s = s + m Call out("a" & (2 + i), i) : Call out("b" & (2 + i), Abs(m)) : Call out("c" & (2 + i), s) i = i + 1 Loop End Sub
ΠΡΡΠ³Π°Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Do . . . Loop ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π°, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ° ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·:
Do ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Loop While ΡΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠ²Π΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΈΠΊΠ»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ (False):
Β Π¦ΠΈΠΊΠ» Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·:
Do Until ΡΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Loop
Β Π¦ΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·:
Do
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
Loop Until ΡΡΠ»ΠΎΠ²ΠΈΠ΅
7.2 ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ.
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π½ΡΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΡΠΊΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±Π»ΠΎΠΊ If . . . Then Π²Π½ΡΡΡΡ ΡΠΈΠΊΠ»Π° For . . . Next). ΠΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½Π°Ρ Π²Π½ΡΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ.
ΠΠ»ΡΠ±ΠΈΠ½Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΡΡΠΊΡΡΡ Π² VBA Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π°. ΠΠ»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ½ΡΡΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΈΠΊΠ»Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΡΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π² ΡΠΈΠΊΠ» ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»Π°Ρ , Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ (ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠΈΠ΅) ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ (Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅) ΡΠΈΠΊΠ»Ρ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Aij ΠΌΠ°ΡΡΠΈΡΡ A(n,m) ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ.
Sub ΠΏΡΠΈΠΌΠ΅Ρ5() Dim a() As Single, s() As Single Dim n As Integer, m As Integer Dim i As Integer, j As Integer Call read("a1", n): Call read("b1", m) ReDim a(1 To n, 1 To m), s(1 To n) 'Π§ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ For i = 1 To n For j = 1 To m Call readcell(i + 1, j, a(i, j)) Next j Next i 'ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ For i = 1 To n s(i) = 0 For j = 1 To m s(i) = s(i) + a(i, j) Next j Call outcell(i + 1, m + 1, s(i)) Next i End Sub
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Next Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΈΠΊΠ» For, Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Next Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» For. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈ Π΄Π»Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² If, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ End If Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΠΊ Π½Π΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° If. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Do . . . Loop ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΡΠ°ΠΌΡΠΉ Π΄Π°Π»ΡΠ½ΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Loop ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΌΠΎΠΌΡ Π΄Π°Π»ΡΠ½Π΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Do.
ΠΡΠΈ Π²Π²ΠΎΠ΄Π΅/Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ Microsoft Excel ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°:
Sub readcell(i As Integer, j As Integer, val As Variant) val = ΠΠΈΡΡ1.Cells(i, j).Value End Sub Sub outcell(i As Integer, j As Integer, val As Variant) ΠΠΈΡΡ1.Cells(i, j).Value = val End Sub
Π³Π΄Π΅ I — Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ, j — Π½ΠΎΠΌΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠ° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ°.
ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΡΡΡΡΠΊΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Exit ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ· ΡΠΈΠΊΠ»Π° For, ΡΠΈΠΊΠ»Π° Do, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Sub ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Function. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Exit ΠΏΡΠΎΡΡ:
For counter = start To end [Step -increment] [Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²] [Exit For] [Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²] Next [counter] Do [(While | Until} ΡΡΠ»ΠΎΠ²ΠΈΠ΅] [Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²] [Exit Do] [Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²] Loop
Exit For Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° For ΠΈ Exit Do Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Do ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΡΠ°Π·.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Exit Do ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡΠΌΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΈΠΊΠ»Π° Do.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Exit For ΠΈ Exit Do ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠΈΠΊΠ» Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π½Π΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΠΈΠ»ΠΈ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π² ΡΠ΅Π»Π΅ ΡΠΈΠΊΠ»Π°.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Exit Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π° Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π°:
Β ΠΡΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π° ΠΈΠΌΠ΅Π΅Ρ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²Π΅ΡΡ Π½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΡ ΡΠΈΡΠ»Π° ΡΠΈΠΊΠ»ΠΎΠ²
Β ΠΡΠΈ ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΊΠ»Π° ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½Π° ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ»
Β ΠΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° ΠΏΠΎ ΠΊΠΎΠ½ΡΡ Π½Π°Π±ΠΎΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΊΠ»Π° ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Nothing (ΠΠΈΡΠ΅Π³ΠΎ), Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° object (ΠΠ±ΡΠ΅ΠΊΡ), ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Empty (ΠΡΡΡΠΎ), Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° Variant
Π Π°Π±ΠΎΡΠ° Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ Π² VBA:loop, for each, for next
ΠΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ: ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π°ΡΠ΅ΠΌ Π²ΡΠΎΡΠΎΠΉ ΠΈ Ρ. Π.
Π―Π·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΈΠΊΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΎΠ±ΡΠΈΠΉ Π²ΠΈΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΈΠΊΠ»Π° Π² VBA.
VBA ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΠΏΡ ΡΠΈΠΊΠ»ΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠΈΠΊΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈΡ Π΄Π΅ΡΠ°Π»ΠΈ.
for ΡΠΈΠΊΠ»
Π¦ΠΈΠΊΠ» for — ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° for Π² VBA.
For counter = start To end [Step stepcount] [statement 1] [statement 2] .... [statement n] [Exit For] [statement 11] [statement 22] .... [statement n] Next
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠΎΠΊΠ°
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Loop —
- ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. ΠΡΠΎΡ ΡΠ°Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΠ°ΠΌΠΈ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ°Π³ΠΎΠ².
- ΠΠΎ-Π²ΡΠΎΡΡΡ , ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠ°Π²Π΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π°. ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ Π»ΠΎΠΆΠ½ΠΎ, ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΈ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° For.
- ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° ΡΠΈΠΊΠ»Π° For ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ. ΠΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠΌ. ΠΠ½ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ°Π³ΠΎΠ².
- Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ½ΠΎΠ²Π°. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠ°Π²Π΄Π°, ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ (ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π°, Π·Π°ΡΠ΅ΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ°Π³, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ½ΠΎΠ²Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅). ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ, ΡΠΈΠΊΠ» For Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ.
ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
Private Sub Constant_demo_Click() Dim a As Integer a = 10 For i = 0 To a Step 2 MsgBox "The value is i is : " & i Next End Sub
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΎΠ½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
The value is i is : 0
The value is i is : 2
The value is i is : 4
The value is i is : 6
The value is i is : 8
The value is i is : 10
ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΈ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π°.
for … loop
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ For Loop; ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΠ΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ°Π³ΠΎΠ² Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΡΠΎΠΌ ΡΠΈΠΏΠ΅ ΡΠΈΠΊΠ»Π°. ΠΠ½ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° For Each Π² VBA.
For Each element In Group [statement 1] [statement 2] .... [statement n] [Exit For] [statement 11] [statement 22] Next
ΠΏΡΠΈΠΌΠ΅Ρ
Private Sub Constant_demo_Click() 'fruits is an array fruits = Array("apple", "orange", "cherries") Dim fruitnames As Variant 'iterating using For each loop. For Each Item In fruits fruitnames = fruitnames & Item & Chr(10) Next MsgBox fruitnames End Sub
ΠΠΎΠ³Π΄Π° Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΎΠ½ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΡΡΠΊΡΠΎΠ² Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
apple
orange
cherries
ΠΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π² Π³ΡΡΠΏΠΏΠ΅ Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π³ΡΡΠΏΠΏΠ΅.
while..wend loop
Π ΡΠΈΠΊΠ»Π΅ While While … Wend , Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ True, Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Wend.
ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ, ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Wend .
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° While..Wend Π² VBA.
While condition(s) [statements 1] [statements 2] ... [statements n] Wend
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠΎΠΊΠ°
ΠΏΡΠΈΠΌΠ΅Ρ
Private Sub Constant_demo_Click() Dim Counter : Counter = 10 While Counter < 15 ' Test value of Counter. Counter = Counter + 1 ' Increment Counter. msgbox "The Current Value of the Counter is : " & Counter Wend ' While loop exits if Counter Value becomes 15. End Sub
ΠΠΎΠ³Π΄Π° Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΎΠ½ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π² ΠΏΠΎΠ»Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
The Current Value of the Counter is : 11
The Current Value of the Counter is : 12
The Current Value of the Counter is : 13
The Current Value of the Counter is : 14
The Current Value of the Counter is : 15
ΠΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π°.
Π¦ΠΈΠΊΠ» do..while
Do … while ΡΠΈΠΊΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ. Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° Do … While Π² VBA.
Do While condition [statement 1] [statement 2] ... [statement n] [Exit Do] [statement 1] [statement 2] ... [statement n] Loop
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠΎΠΊΠ°
ΠΏΡΠΈΠΌΠ΅Ρ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΊΠ» Do … while Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π°. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ True.
Private Sub Constant_demo_Click() Do While i < 5 i = i + 1 msgbox "The value of i is : " & i Loop End Sub
ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΎΠ½ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
The value of i is : 1
The value of i is : 2
The value of i is : 3
The value of i is : 4
The value of i is : 5
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ Do … while loop, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°ΠΌΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
Do [statement 1] [statement 2] ... [statement n] [Exit Do] [statement 1] [statement 2] ... [statement n] Loop While condition
ΠΏΡΠΈΠΌΠ΅Ρ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΊΠ» Do … while Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°. ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ False.
Private Sub Constant_demo_Click() i = 10 Do i = i + 1 MsgBox "The value of i is : " & i Loop While i < 3 'Condition is false.Hence loop is executed once. End Sub
ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΎΠ½ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
The value of i is : 11
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ do..While Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ True. (Π’. Π.) ΠΠ΅ΡΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ False.
do..intil loop
Do … intil ΡΠΈΠΊΠ» Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ. Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° Do..Until Π² VBA.
Do Until condition [statement 1] [statement 2] ... [statement n] [Exit Do] [statement 1] [statement 2] ... [statement n] Loop
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠΎΠΊΠ°
ΠΏΡΠΈΠΌΠ΅Ρ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Do … ΠΠΎ ΡΠΈΠΊΠ»Π°, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π°. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ. ΠΠ½ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠΈΠΊΠ»Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ.
Private Sub Constant_demo_Click() i = 10 Do Until i>15 'Condition is False.Hence loop will be executed i = i + 1 msgbox ("The value of i is : " & i) Loop End Sub
ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΎΠ½ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
The value of i is : 11
The value of i is : 12
The value of i is : 13
The value of i is : 14
The value of i is : 15
The value of i is : 16
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Do … ΠΠΎ ΡΠΈΠΊΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°ΠΌΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ.
Do [statement 1] [statement 2] ... [statement n] [Exit Do] [statement 1] [statement 2] ... [statement n] Loop Until condition
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠΎΠΊΠ°
ΠΏΡΠΈΠΌΠ΅Ρ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Do … ΠΠΎ ΡΠΈΠΊΠ»Π°, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ True.
Private Sub Constant_demo_Click() i = 10 Do i = i + 1 msgbox "The value of i is : " & i Loop Until i more15 'Condition is True.Hence loop is executed once. End Sub
ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΎΠ½ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
The value of i is : 11
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ do..Until Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ False. (Π’. Π.) ΠΠ΅ΡΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΡΠΈΠ½Π½ΡΠΌ.
ΠΠ°ΠΏΠΈΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠΌ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ²ΠΎΠ΅ΠΉ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠΊΠ»Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ.
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠ΅ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΡΡ ΠΎΠ΄ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°
ΠΡΡ ΠΎΠ΄ for ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΌΡ Ρ ΠΎΡΠΈΠΌ , ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· For Loop Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π². ΠΠΎΠ³Π΄Π° Exit For Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° For Loop.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Exit For Statement Π² VBA.
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠΎΠΊΠ°
ΠΏΡΠΈΠΌΠ΅Ρ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Exit For . ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ 4, ΡΠΈΠΊΠ» For Loop Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° For Loop.
Private Sub Constant_demo_Click() Dim a As Integer a = 10 For i = 0 To a Step 2 'i is the counter variable and it is incremented by 2 MsgBox ("The value is i is : " & i) If i = 4 Then i = i * 10 'This is executed only if i=4 MsgBox ("The value is i is : " & i) Exit For 'Exited when i=4 End If Next End Sub
ΠΠΎΠ³Π΄Π° Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΎΠ½ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
The value is i is : 0
The value is i is : 2
The value is i is : 4
The value is i is : 40
ΠΠ°Π²Π΅ΡΡΠ°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΈΠΊΠ»Π° For ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π°
Exit Do
Exit Do ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΌΡ Ρ ΠΎΡΠΈΠΌ , ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· Do Loops Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π². ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π² Do Do … While, ΡΠ°ΠΊ ΠΈ Do … ΠΠΎ ΡΠΈΠΊΠ»ΠΎΠ².
ΠΠΎΠ³Π΄Π° Exit Do Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Do Loop.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Exit Do Π² VBA.
ΠΏΡΠΈΠΌΠ΅Ρ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Exit Do . ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ 10, Π²ΡΡ ΠΎΠ΄Π½Π°Ρ Π»ΠΈΠ½ΠΈΡ Do Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° For Loop.
Private Sub Constant_demo_Click() i = 0 Do While i <= 100 If i > 10 Then Exit Do ' Loop Exits if i>10 End If MsgBox ("The Value of i is : " & i) i = i + 2 Loop End Sub
ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΎΠ½ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
The Value of i is : 0
The Value of i is : 2
The Value of i is : 4
The Value of i is : 6
The Value of i is : 8
The Value of i is : 10
ΠΠ°Π²Π΅ΡΡΠ°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Do While ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π°
Β Π‘ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π°Π²ΡΠΎΡΡ ΡΠ°ΠΉΡΠ° ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΏΠΈΡ
ΠΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΡΠ°ΡΡΡ? ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ Π΅Ρ Ρ Π΄ΡΡΠ·ΡΡΠΌΠΈ ΠΈ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΎΡΠ·ΡΠ² Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !
Π¦ΠΈΠΊΠ»Ρ VBA: for, while ΠΈ Π΄ΡΡΠ³ΠΈΠ΅
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ! ΠΠ°Π½Π½ΡΡ ΡΡΠ°ΡΡΡ Ρ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΡΠ²ΡΡΠΈΡΡ ΡΡΠ±ΡΠΈΠΊΠ΅ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Visual Basic for Application. Π ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΈΠΊΠ»Π°Ρ Π² VBA, ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ.
Π‘Π½Π°ΡΠ°Π»Π° Π½Π°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΡΠΈΠΊΠ» β ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠ΅Π½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π½Π°ΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² Π² VBA:
Π¦ΠΈΠΊΠ» For Π² VBA
Π¦ΠΈΠΊΠ» for Π² VBA ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π°, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ counter β ΡΡΠ΅ΡΡΠΈΠΊΠ°, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ Π²ΡΠΉΠ΄Π΅ΠΌ ΠΈΠ· ΡΠΈΠΊΠ»Π°.
ΠΠΎΠ·ΡΠΌΡΠΌ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 5 ΡΠ΅Π»ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
Dim mas(5) As Integer For i% = 0 To 4 mas(i) = Int((10 * Rnd) + 1) Next i
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠ²Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ Π² VBA. i% β ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π΅ΡΠ²Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π² ΡΠΎΡΠΌΠ°ΡΠ΅ integer. Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ: dim i as integer
. ΠΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΡΡΠ΅Π½ΠΈΡ. Π ΡΡΠ°ΡΡΡ
Π²Π΅ΡΡΠΈΡΡ
VBA Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π·Π½Π°ΠΊ ΡΠΎΡΠΌΠ°ΡΠ° ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠ²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ
Π²Π΅ΡΡΠΈΡΡ
Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
VBA Π΄Π»Ρ ΡΠΈΠΊΠ»Π° for Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Step. ΠΠ°ΠΊ ΡΡΠ½ΠΎ ΠΈΠ· ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°, ΡΡΠΎ ΡΠ°Π³, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΠ½ ΡΠ°Π²Π΅Π½ 1. ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° counter ΡΠ²ΡΠ·Π°Π½ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
ΠΠ°ΠΉΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ y = 5*x + 5 Ρ ΠΎΡΡΡ ΠΎΡΠ΄ΠΈΠ½Π°Ρ
Function expr(x As Integer) As Integer expr = 5 * x + 5 End Function Sub CodeTown() Dim i As Integer For i = -10 To 10 Step 1 If expr(i) = 0 Then MsgBox "ΠΡΠΈ Y = 0, Π₯ = "+ CStr(i) Next i End Sub
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΡΠΈΡΠ°ΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ° ΡΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Exit For. ΠΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Π½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
Function expr(x As Integer) As Integer expr = 5 * x + 5 End Function Sub CodeTown() Dim i As Integer For i = -10 To 10 Step 1 If expr(i) = 0 Then MsgBox "ΠΡΠΈ Y = 0, Π₯ = "+ CStr(i) Exit For End If Next i End Sub
C ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Exit ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π² VBA. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΡΠ»Π΅ Exit Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π¦ΠΈΠΊΠ» For Each Π² VBA
For Each Π² VBA ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ΅ Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΠ΅.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ β ΠΏΠ΅ΡΠ΅Π±ΠΎΡ ΡΡΡΠ°Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅.
ΠΡΠ²Π΅ΡΡΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ Π»ΠΈΡΡΠΎΠ² Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅
For Each ws In ThisWorkbook.Worksheets MsgBox ws.Name Next ws
Π Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ° ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΡΡ ΠΏΠΎ ΡΠ΅Π½ΡΡΡ ΡΠ΅ΠΊΡΡ Π² label
For Each element In UserForm1.Controls If InStr(1, UserForm1.Controls.Item(i%).Name, "Label") > 0 Then UserForm1.Controls.Item(i%).TextAlign = fmTextAlignCenter UserForm1.Controls.Item(i%).Font.Size = 20 i% = i% + 1 End If Next element
Π’ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ΅Π· Controls ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΡΠΌΡ. ΠΡΠ»ΠΈ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΡΡΠ΅, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π³ΡΡΠΏΠΏΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ° ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅.
Π¦ΠΈΠΊΠ» While Π² VBA
Π¦ΠΈΠΊΠ»Ρ Π² VBA, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Do..Loop (ΡΡΠΎ while ΠΈ until ΡΠΈΠΊΠ»Ρ) ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Ρ ΡΠ°Π·Π½ΡΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π²ΡΡΠ΅, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠΈΠΊΠ»Π°.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΡΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΡΠ·ΡΡΡΠΊΠ°
Dim mas(5) As Integer For i% = 0 To 4 mas(i%) = Int((10 * Rnd) + 1) Next i Dim count As Integer, temp As Integer count = 1 Do While count > 0 count = 0 For i% = 0 To 3 If mas(i) > mas(i + 1) Then temp = mas(i) mas(i) = mas(i + 1) mas(i + 1) = temp count = count + 1 End If Next i% Loop
Π Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ. ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ·ΡΡΡΠΊΠ° ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΈΠΌ, Π½ΠΎ ΠΏΡΠΎΡΡΡΠΌ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΠΈΠΌ ΡΠΎΡΡΠΈΡΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ.
Π¦ΠΈΠΊΠ» Until Π² VBA
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΎΡΠ»ΠΈΡΠΈΡ ΠΎΡ while ΠΊΡΠ°ΠΉΠ½Π΅ Π½Π΅ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅. Π¦ΠΈΠΊΠ» Until Π² VBA ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ while NOT (condition). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ°ΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅ΡΡΠΈ ΡΠΈΡΠ»ΠΎ
Dim temp As Variant Do temp = InputBox("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ") Loop Until IsNumeric(temp)
ΠΠΎΡΠ΅ΠΌΡ Π·Π°ΡΡΠ°Π²ΠΈΡΡ? ΠΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΊΡΠΎΠ΅Ρ ΠΎΠΊΠ½ΠΎ Π²Π²ΠΎΠ΄Π°, ΡΡΠΎ Π΅Π³ΠΎ Π½Π΅ ΡΠΏΠ°ΡΡΡ, ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π²Π½ΠΎΠ²Ρ ΠΈ Π²Π½ΠΎΠ²Ρ ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π²Π²Π΅Π΄ΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΠ° ΡΡΠΎΠΌ ΠΌΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠΌ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π²Π°ΠΆΠ½ΡΡ ΡΠ΅ΠΌΡ ΡΠΈΠΊΠ»ΠΎΠ² Π² VBA, ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎ ΡΡΠΎΠΉ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ, Π½ΠΎ, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΡΠ½ΠΎΠ²Ρ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ½ΡΡΡ. ΠΡΡΠ°Π²Π»ΡΠΉΡΠ΅ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π²ΠΎΠΏΡΠΎΡΡ.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊ
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ:
ΠΠΎΡ ΠΎΠΆΠ΅Π΅
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Do… ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Loop (VBA)
-
- Π§ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 2Β ΠΌΠΈΠ½
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Loop Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·.You can use Do…Loop statements to run a block of statements an indefinite number of times. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ True, ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ True.The statements are repeated either while a condition is True or until a condition becomes True.
ΠΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ trueRepeating statements while a condition is True
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° while Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ Do… ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Loop .There are two ways to use the While keyword to check a condition in a Do…Loop statement. ΠΠ΅ΡΠ΅Π΄ Π²Ρ ΠΎΠ΄ΠΎΠΌ Π² ΡΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.You can check the condition before you enter the loop, or you can check it after the loop has run at least once.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ChkFirstWhile
ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄ Π²Ρ
ΠΎΠ΄ΠΎΠΌ Π² ΡΠΈΠΊΠ» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.In the following ChkFirstWhile
procedure, you check the condition before you enter the loop. ΠΡΠ»ΠΈ myNum
Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 9, Π° Π½Π΅ 20, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π² ΡΠΈΠΊΠ»Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ.If myNum
is set to 9 instead of 20, the statements inside the loop will never run. Π ChkLastWhile
ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π² ΡΠΈΠΊΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠ°Π½Π΅Ρ Π»ΠΎΠΆΠ½ΡΠΌ.In the ChkLastWhile
procedure, the statements inside the loop run only once before the condition becomes False.
Sub ChkFirstWhile()
counter = 0
myNum = 20
Do While myNum > 10
myNum = myNum - 1
counter = counter + 1
Loop
MsgBox "The loop made " & counter & " repetitions."
End Sub
Sub ChkLastWhile()
counter = 0
myNum = 9
Do
myNum = myNum - 1
counter = counter + 1
Loop While myNum > 10
MsgBox "The loop made " & counter & " repetitions."
End Sub
ΠΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΈΡΡΠΈΠ½Π½ΡΠΌRepeating statements until a condition becomes True
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Until Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ Do…Loop.There are two ways to use the Until keyword to check a condition in a Do…Loop statement. ΠΠ΅ΡΠ΅Π΄ Π²Ρ
ΠΎΠ΄ΠΎΠΌ Π² ΡΠΈΠΊΠ» (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ChkFirstUntil
ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅) ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ChkLastUntil
ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅).You can check the condition before you enter the loop (as shown in the ChkFirstUntil
procedure), or you can check it after the loop has run at least once (as shown in the ChkLastUntil
procedure). ΠΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠ² ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ, ΠΏΠΎΠΊΠ° ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ False.Looping continues while the condition remains False.
Sub ChkFirstUntil()
counter = 0
myNum = 20
Do Until myNum = 10
myNum = myNum - 1
counter = counter + 1
Loop
MsgBox "The loop made " & counter & " repetitions."
End Sub
Sub ChkLastUntil()
counter = 0
myNum = 1
Do
myNum = myNum + 1
counter = counter + 1
Loop Until myNum = 10
MsgBox "The loop made " & counter & " repetitions."
End Sub
ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ Do… ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Loop Π² ΡΠΈΠΊΠ»Π΅Exiting a Do…Loop statement from inside the loop
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ Do… ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΈΠΊΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Exit Do .You can exit a Do…Loop by using the Exit Do statement. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Exit Do Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° If… Then… ΠΠΏΠ΅ΡΠ°ΡΠΎΡ else ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Select Case .For example, to exit an endless loop, use the Exit Do statement in the True statement block of either an If…Then…Else statement or a Select Case statement. ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ False, ΡΠΈΠΊΠ» Π·Π°ΠΏΡΡΡΠΈΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.If the condition is False, the loop will run as usual.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ myNum
ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ».In the following example myNum
is assigned a value that creates an endless loop. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ If…Then…Else ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΡ
ΠΎΠ΄ΠΈΡ ΠΈΠ· Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°.The If…Then…Else statement checks for this condition, and then exits, preventing endless looping.
Sub ExitExample()
counter = 0
myNum = 9
Do Until myNum = 10
myNum = myNum - 1
counter = counter + 1
If myNum < 10 Then Exit Do
Loop
MsgBox "The loop made " & counter & " repetitions."
End Sub
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π§ΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ», Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ESC ΠΈΠ»ΠΈ CTRL+BREAK.To stop an endless loop, press ESC or CTRL+BREAK.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅See also
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·ΡSupport and feedback
ΠΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ·ΡΠ²Ρ, ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ Office VBA ΠΈΠ»ΠΈ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ?Have questions or feedback about Office VBA or this documentation? Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΎΡΠ·ΡΠ²ΠΎΠ² ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Office VBA ΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
For Next, Do While, Do until, For Each (Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ)
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΎΡΠ΄Π°ΡΡ ΠΎΡ Excel ΠΈ VBA, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ.
Π VBA ΡΠΈΠΊΠ»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² / Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°.
ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² VBA Π² Excel.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ , ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π²ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ Π² ΡΠ΅ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» VBA Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ ΡΡΠ΅ΠΉΠΊΠΈ.ΠΡΠ»ΠΈ ΠΎΠ½ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠΎΠ²Π½ΡΠΌ, Π²Ρ Π΄Π°Π΄ΠΈΡΠ΅ Π΅ΠΌΡ ΡΠ²Π΅Ρ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΊΠ°ΠΊ Π΅ΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΈΠΊΠ» Π² Excel VBA (ΠΈ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ).
Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»ΠΎΠ² VBA Π² Excel, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π³Π΄Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΡΠΈΠΊΠ»Ρ VBA:
- Π¦ΠΈΠΊΠ» ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ ΡΡΠ΅Π΅ΠΊ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ (Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ Π² Π½Π΅ΠΌ).
- ΠΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΡΠΈΡΠΈΡΡ / ΡΠ½ΡΡΡ Π·Π°ΡΠΈΡΡ).
- ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ (ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΊΠ½ΠΈΠ³Ρ ΠΈΠ»ΠΈ Π·Π°ΠΊΡΠΎΠΉΡΠ΅ Π²ΡΠ΅, ΠΊΡΠΎΠΌΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ).
- ΠΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΡΠ΅ΠΉΠΊΠ΅ (ΠΈ ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΡΠ°ΡΡΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ).
- ΠΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
- ΠΡΠΎΠΊΡΡΡΠΈΡΠ΅ Π²ΡΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ / ΠΎΠ±ΡΠ΅ΠΊΡΡ (ΠΈ Π·Π°Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΌΠΊΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ²Π΅Ρ ΡΠΎΠ½Π°).
Π’Π΅ΠΏΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ Π² Excel VBA, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠΈΠΏΠ°Ρ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ .
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠΈΠΊΠ»ΠΎΠ² Excel VBA ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡ ΠΎΡ Π²Π°ΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΊΠ» VBA Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄Π΅ΡΠ°Π»Ρ. Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π°ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ VBA ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΌΠΎΠΈΠΌ ΠΊΡΡΡΠΎΠΌ Online Excel VBA Training .
ΠΠ»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π°
Π¦ΠΈΠΊΠ» Β«ΠΠ»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠΎΠΉΡΠΈ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ ΠΏΡΠΎΡΡ Π²Π°Ρ ΡΠ»ΠΎΠΆΠΈΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π²ΡΡΡΠ½ΡΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»ΠΎΠΆΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠΈΡΠ»Π°, Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ΅ΡΡΠ΅ ΡΠΈΡΠ»ΠΎ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΠΈ Ρ. Π.
ΠΠ΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ?
Π’Π° ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠΈΠΊΠ»Π΅ For Next Π² VBA.
ΠΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠΈΠΊΠ» Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ» ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΈΠΊΠ»Π°.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° For Next:
For Counter = Start To End [Step Value] [ΠΠ»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ] Next [counter]
Π ΡΠΈΠΊΠ»Π΅ For Next Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅ΡΡΠΈΠΊ (ΠΈΠ»ΠΈ Π»ΡΠ±ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ), ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π°.ΠΡΠΎΡ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠΎΡ ΡΠΈΠΊΠ» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Ρ ΠΎΡΡ ΡΠ»ΠΎΠΆΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ 10 ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΅Π³ΠΎ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡ 1 Π΄ΠΎ 10.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΡΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» For Next.
ΠΡΠΈΠΌΠ΅Ρ 1 — ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΡΡ 10 ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π»
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠ΅ 10 ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° For Next.
ΠΠ°ΡΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ ΡΡΠΌΠΌΡ ΡΡΠΈΡ ΡΠΈΡΠ΅Π».
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° () Π’ΡΡΠΊΠ»ΡΠΉ ΠΈΡΠΎΠ³ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π’ΡΡΠΊΠ»ΡΠΉ ΡΡΠ΅Ρ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΡΠΎΠ³ΠΎ = 0 ΠΠ»Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° = ΠΎΡ 1 Π΄ΠΎ 10 ΠΡΠΎΠ³ΠΎ = ΠΡΠΎΠ³ΠΎ + ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Ρ MsgBox ΠΡΠΎΠ³ΠΎ End Sub
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Total ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² 0 ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠΌ Π² ΡΠΈΠΊΠ» For Next.
ΠΠΎΠΏΠ°Π² Π² ΡΠΈΠΊΠ», ΠΎΠ½ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ°Π²Π΅Π½ 1, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«TotalΒ» ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π²Π½ΡΠΌ 1, Π° ΠΏΠΎΡΠ»Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΎΠ½ΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π²Π½ΡΠΌ 3 (1 + 2), ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Total ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΌΠΌΡ ΠΏΠ΅ΡΠ²ΡΡ 10 ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π».
ΠΠ°ΡΠ΅ΠΌ MsgBox ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ 2 — ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΡΡ 5 ΡΠ΅ΡΠ½ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π»
Π§ΡΠΎΠ±Ρ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΡΡ ΡΠ΅ΡΠ½ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 2,4,6,8 ΠΈ 10), Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°. ΡΠΈΡΠ»Π° ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠΉΡΠ΅ Π½Π΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°.
ΠΠΎΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ:
Sub AddEvenNumbers () Π’ΡΡΠΊΠ»ΡΠΉ ΠΈΡΠΎΠ³ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π’ΡΡΠΊΠ»ΡΠΉ ΡΡΠ΅Ρ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΡΠΎΠ³ΠΎ = 0 ΠΠ»Ρ Count = ΠΎΡ 2 Π΄ΠΎ 10 Π¨Π°Π³ 2 ΠΡΠΎΠ³ΠΎ = ΠΡΠΎΠ³ΠΎ + ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Ρ MsgBox ΠΡΠΎΠ³ΠΎ End Sub
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Count Ρ 2 ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Β« Step 2 Β».
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Β«Step 2Β» , ΠΎΠ½ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΊΠΎΠ΄Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«CountΒ» Π½Π° 2 ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΈΠΊΠ»Π°.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 2, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ 4, 6, 8 ΠΈ 10 ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°.
ΠΠ ΠΠΠΠ§ΠΠΠΠ. ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ — Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΈΠΊΠ» ΠΎΡ 1 Π΄ΠΎ 10 ΠΈ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Step Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ 10 ΡΠ°Π·, Π° ΡΠΎΠ»ΡΠΊΠΎ 5 ΡΠ°Π·.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π³Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΅ΡΡΠΈΠΊ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π³Π°.
ΠΡΠΈΠΌΠ΅Ρ 3 — ΠΠ²ΠΎΠ΄ ΡΠ΅ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° Π² Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» For Next Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΡΠ΅ΠΉΠΊΠΈ, ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ ΠΈΠ»ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ),
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΡΡΡΠΎ Π²Π²ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Π²ΠΎ Π²ΡΠ΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΡΠ΅ΠΉΠΊΠ°Ρ .
Sub EnterSerialNumber () Dim Rng As Range Π’ΡΡΠΊΠ»ΡΠΉ ΡΡΠ΅ΡΡΠΈΠΊ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Dim RowCount ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Rng = ΠΡΠ±ΠΎΡ RowCount = Rng.Rows.Count ΠΠ»Ρ ΡΡΠ΅ΡΡΠΈΠΊΠ° = 1 Π΄ΠΎ RowCount ActiveCell.Offset (Π‘ΡΠ΅ΡΡΠΈΠΊ - 1, 0). ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ = Π‘ΡΠ΅ΡΡΠΈΠΊ Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅ΡΡΠΈΠΊ End Sub
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΡΡΠΎΠΊ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ RowCount. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΈΠΊΠ» ΠΎΡ Β«1 Π΄ΠΎ RowCountΒ».
Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΡΠΎΠΊ, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Rng Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Selection (ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ Β«Set Rng = SelectionΒ»). Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Β«RngΒ» Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.
ΠΡΠΈΠΌΠ΅Ρ 4 — ΠΠ°ΡΠΈΡΠ° Π²ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠΈΡ Π»ΠΈΡΡΠΎΠ² Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» Β«ΠΠ»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎΒ», ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ (ΠΈΠ»ΠΈ ΡΠ½ΡΡΡ Π·Π°ΡΠΈΡΡ) ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ°Π±ΠΎΡΠΈΡ Π»ΠΈΡΡΠΎΠ².
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ:
Sub ProtectWorksheets () Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΠ»Ρ i = 1 Π ActiveWorkbook.Worksheets.Count Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ (i) .Protect ΠΠ°Π»Π΅Π΅ Ρ End Sub
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΈΡΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ActiveWorkbook.Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ.Π‘ΡΠ΅Ρ. ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ VBA, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΡΠΈΠΊΠ» Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ.
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ I-ΠΉ ΠΊΠ½ΠΈΠ³Π΅ (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠΈΡ Π»ΠΈΡΡΠΎΠ² (i)) ΠΈ Π·Π°ΡΠΈΡΠ°Π΅Ρ Π΅Π΅.
ΠΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ ΡΠ½ΡΡΠΈΡ Π·Π°ΡΠΈΡΡ Ρ Π»ΠΈΡΡΠΎΠ². ΠΡΠΎΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ Worksheets (i) .Protect to Worksheets (i) .UnProtect .
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ Β«For NextΒ»
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ Β«For NextΒ», ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π² Excel. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» Β«For NextΒ» Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π² ΡΠΈΠΊΠ»Π΅ Β«For NextΒ» Π΅ΡΡΡ ΡΠΈΠΊΠ» Β«For NextΒ».
ΠΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΠΌΠ½Π΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π² ΠΌΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΡΠΊΡΡΡΠΎ 5 ΡΠ°Π±ΠΎΡΠΈΡ ΠΊΠ½ΠΈΠ³, ΠΈ Ρ Ρ ΠΎΡΡ Π·Π°ΡΠΈΡΠΈΡΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΊΠ½ΠΈΠ³Π°Ρ .
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ:
Sub ProtectWorksheets () Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Dim j ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΠ»Ρ i = 1 To Workbooks.Count ΠΠ»Ρ j = 1 To Workbooks (i) .Worksheets.Count Π Π°Π±ΠΎΡΠΈΠ΅ ΡΠ΅ΡΡΠ°Π΄ΠΈ (i). Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ (j) .Protect Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ j ΠΠ°Π»Π΅Π΅ Ρ End Sub
ΠΡΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» For Next, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ» For Next Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ EXIT For Π² ΡΠΈΠΊΠ»Π°Ρ For Next
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Exit For ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° For Next.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠΈΠΊΠ» For Next Π·Π°Π²Π΅ΡΡΠ°Π»ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π°Π±ΠΎΡ ΡΠΈΡΠ΅Π» Π² ΡΡΠΎΠ»Π±ΡΠ΅ A, ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π²ΡΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ΅ΠΉΠΊΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ ΡΡΠΈΡΡΠ°.
ΠΠΎ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ΄ Π±ΡΠ» Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΅ΡΡΡ Π»ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Exit For, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΊΠΎΠ΄Π°.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ:
Sub HghlightNegative () Dim Rng As Range Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Rng = Range ("A1", Range ("A1"). End (xlDown)) Counter = Rng.Count ΠΠ»Ρ i = 1 ΡΡΠ΅ΡΡΠΈΠΊ ΠΡΠ»ΠΈ WorksheetFunction.Min (Rng)> = 0, ΡΠΎΠ³Π΄Π° Π²ΡΠΉΡΠΈ Π΄Π»Ρ ΠΡΠ»ΠΈ Rng (i) .Value <0, ΡΠΎ Rng (i) .Font.Color = vbRed ΠΠ°Π»Π΅Π΅ Ρ End Sub
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Exit For Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ For Next, ΠΎΠ½ Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΠΈΠΊΠ»Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° For Next. .
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«Exit ForΒ» Π²ΡΠ²Π΅Π΄Π΅Ρ Π²Π°Ρ ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΈΠΊΠ»Π°, Π½ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ°Π±ΠΎΡΡ.
Sub SampleCode () ΠΠ»Ρ i = ΠΎΡ 1 Π΄ΠΎ 10 ΠΠ»Ρ j = ΠΎΡ 1 Π΄ΠΎ 10 ΠΡΡ ΠΎΠ΄ Π΄Π»Ρ ΠΠ°Π»Π΅Π΅ J ΠΠ°Π»Π΅Π΅ Ρ End Sub
Π¦ΠΈΠΊΠ» Do While
Π¦ΠΈΠΊΠ» Β«Do WhileΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΈΠΊΠ», ΠΏΠΎΠΊΠ° ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ (ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠ‘Π’ΠΠΠ).
Π ΡΠΈΠΊΠ»Π΅ Do While Loop Π΅ΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
Do [ΠΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅] [ΠΠ»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ] ΠΠ΅ΡΠ»Ρ
ΠΈ
Do [ΠΠ»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ] Π¦ΠΈΠΊΠ» [ΡΡΠ»ΠΎΠ²ΠΈΠ΅ while]
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΠΎΠΊΠ°Β» ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π»ΡΠ±ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΠΎΠΊΠ°Β». .
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΠΎΠΊΠ°Β» ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«ΠΠΎΠΆΡΒ» Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ΄ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΠΎΠΊΠ°Β» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·).
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² Do While Π² VBA.
ΠΡΠΈΠΌΠ΅Ρ 1. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΡΡ 10 ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ VBA
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π΅ΡΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° Do While Π² VBA.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» Do While, ΠΏΠΎΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 10.ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»ΠΎ ΡΡΠ°Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ 1o, Π²Π°Ρ ΡΠΈΠΊΠ» ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ.
ΠΠΎΡ ΠΊΠΎΠ΄ VBA, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΡΠΈΡ ΡΡΠΎΡ ΡΠΈΠΊΠ» Do While ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
Sub AddFirst10PositiveIntegers () Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ρ = 1 ΠΠ΅Π»Π°Ρ ΠΏΠΎΠΊΠ° Ρ <= 10 Π Π΅Π·ΡΠ»ΡΡΠ°Ρ = Π Π΅Π·ΡΠ»ΡΡΠ°Ρ + i Ρ = Ρ + 1 ΠΠ΅ΡΠ»Ρ Π Π΅Π·ΡΠ»ΡΡΠ°Ρ MsgBox End Sub
ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«iΒ» Π½Π΅ ΡΡΠ°Π½Π΅Ρ 11. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΎ ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΡΠΌ 11, ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠΈΡΡΡ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ While ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ).
ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Result, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«ResultΒ».
ΠΡΠΈΠΌΠ΅Ρ 2 - ΠΠ²ΠΎΠ΄ Π΄Π°Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΡΠ°
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π²Π΅ΡΡΠΈ Π²ΡΠ΅ Π΄Π°ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΡΠ° Π² ΡΡΠΎΠ»Π±Π΅Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΈΠΊΠ»Π° Do While:
Sub EnterCurrentMonthDates () ΠΠ°ΡΠ΅ΠΌΠ½ΠΈΡΡ CMDate ΠΊΠ°ΠΊ Π΄Π°ΡΡ Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ρ = 0 CMDate = DateSerial (ΠΠΎΠ΄ (ΠΠ°ΡΠ°), ΠΠ΅ΡΡΡ (ΠΠ°ΡΠ°), 1) ΠΠ΅ΡΡΡ (CMDate) = ΠΠ΅ΡΡΡ (ΠΠ°ΡΠ°) ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Β«Π1Β»).Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (i, 0) = CMDate Ρ = Ρ + 1 CMDate = CMDate + 1 ΠΠ΅ΡΠ»Ρ End Sub
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ Π²Π²ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ Π΄Π°ΡΡ Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° (Π½Π°ΡΠΈΠ½Π°Ρ Ρ A1). Π¦ΠΈΠΊΠ»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΡΠ° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ CMDate Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Ρ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΡΠ°.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Exit Do
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Exit Do, ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π°. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ Β«Exit DoΒ», ΠΎΠ½ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠΈΠΊΠ»Π° Do While ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π²Π΅ΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ 10 Π΄Π°Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π°, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠ΄ΡΡ Π²Π²Π΅Π΄Π΅Π½Ρ ΠΏΠ΅ΡΠ²ΡΠ΅ 10 Π΄Π°Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ:
Sub EnterCurrentMonthDates () ΠΠ°ΡΠ΅ΠΌΠ½ΠΈΡΡ CMDate ΠΊΠ°ΠΊ Π΄Π°ΡΡ Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ρ = 0 CMDate = DateSerial (ΠΠΎΠ΄ (ΠΠ°ΡΠ°), ΠΠ΅ΡΡΡ (ΠΠ°ΡΠ°), 1) ΠΠ΅ΡΡΡ (CMDate) = ΠΠ΅ΡΡΡ (ΠΠ°ΡΠ°) ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (i, 0) = CMDate Ρ = Ρ + 1 ΠΡΠ»ΠΈ i> = 10, ΡΠΎ Π²ΡΠΉΡΠΈ ΠΈΠ· Do CMDate = CMDate + 1 ΠΠ΅ΡΠ»Ρ End Sub
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ IF ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ i 10 ΠΈΠ»ΠΈ Π½Π΅Ρ.ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«iΒ» ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π²Π½ΡΠΌ 10, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Exit Do ΠΈ ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
Π¦ΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ°Β»
Π¦ΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ°Β» ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΡΠΈΠΊΠ»Ρ Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ°Β».
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ Β«Do WhileΒ» ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, Π° Π² Β«Do WhileΒ» - Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
Π ΡΠΈΠΊΠ»Π΅ Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ°Β» Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
Do [ΠΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ] [ΠΠ»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ] ΠΠ΅ΡΠ»Ρ
ΠΈ
Do [ΠΠ»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ] Π¦ΠΈΠΊΠ» [ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄ΠΎ]
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΠΎΠΊΠ°Β» Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΠΎΠΊΠ°Β». .
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΠΎΠΊΠ°Β» ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠ‘Π’ΠΠΠ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ΄ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΠΎΠΊΠ°Β» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·).
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² Do until Π² VBA.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ Do While ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ Do While. ΠΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» Do until.
ΠΡΠΈΠΌΠ΅Ρ 1. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΡΡ 10 ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ VBA.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π΅ΡΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ» Π² VBA.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΈΠΊΠ» Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 10. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»ΠΎ ΡΡΠ°Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ 1o, Π²Π°Ρ ΡΠΈΠΊΠ» ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ.
ΠΠΎΡ ΠΊΠΎΠ΄ VBA, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΡΠΈΡ ΡΡΠΎΡ ΡΠΈΠΊΠ» ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
Sub AddFirst10PositiveIntegers () Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ρ = 1 ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Ρ> 10 Π Π΅Π·ΡΠ»ΡΡΠ°Ρ = Π Π΅Π·ΡΠ»ΡΡΠ°Ρ + i Ρ = Ρ + 1 ΠΠ΅ΡΠ»Ρ Π Π΅Π·ΡΠ»ΡΡΠ°Ρ MsgBox End Sub
ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«iΒ» Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΡΠΌ 11.ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π²Π½ΡΠΌ 11, ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ (ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΠΎΒ» ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ).
ΠΡΠΈΠΌΠ΅Ρ 2 - ΠΠ²ΠΎΠ΄ Π΄Π°Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΡΠ°
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π²Π΅ΡΡΠΈ Π²ΡΠ΅ Π΄Π°ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΡΠ° Π² ΡΡΠΎΠ»Π±Π΅Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΈΠΊΠ»Π° Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ°Β»:
Sub EnterCurrentMonthDates () ΠΠ°ΡΠ΅ΠΌΠ½ΠΈΡΡ CMDate ΠΊΠ°ΠΊ Π΄Π°ΡΡ Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ρ = 0 CMDate = DateSerial (ΠΠΎΠ΄ (ΠΠ°ΡΠ°), ΠΠ΅ΡΡΡ (ΠΠ°ΡΠ°), 1) Π‘Π΄Π΅Π»Π°ΡΡ Π΄ΠΎ ΠΌΠ΅ΡΡΡΠ° (CMDate) <> Month (Date) ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Β«Π1Β»).Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (i, 0) = CMDate Ρ = Ρ + 1 CMDate = CMDate + 1 ΠΠ΅ΡΠ»Ρ End Sub
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ Π²Π²ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ Π΄Π°ΡΡ Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° (Π½Π°ΡΠΈΠ½Π°Ρ Ρ A1). Π¦ΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ CMDate Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΡΠΌ ΠΠ΅ΡΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΡΠ°.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Exit Do
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Exit Do, ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π°.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ Β«Exit DoΒ», ΠΎΠ½ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠΈΠΊΠ»Π° Do until ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π²Π΅ΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ 10 Π΄Π°Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π°, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠ΄ΡΡ Π²Π²Π΅Π΄Π΅Π½Ρ ΠΏΠ΅ΡΠ²ΡΠ΅ 10 Π΄Π°Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ:
Sub EnterCurrentMonthDates () ΠΠ°ΡΠ΅ΠΌΠ½ΠΈΡΡ CMDate ΠΊΠ°ΠΊ Π΄Π°ΡΡ Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ρ = 0 CMDate = DateSerial (ΠΠΎΠ΄ (ΠΠ°ΡΠ°), ΠΠ΅ΡΡΡ (ΠΠ°ΡΠ°), 1) Π‘Π΄Π΅Π»Π°ΡΡ Π΄ΠΎ ΠΌΠ΅ΡΡΡΠ° (CMDate) <> Month (Date) ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (i, 0) = CMDate Ρ = Ρ + 1 ΠΡΠ»ΠΈ i> = 10, ΡΠΎ Π²ΡΠΉΡΠΈ ΠΈΠ· Do CMDate = CMDate + 1 ΠΠ΅ΡΠ»Ρ End Sub
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«iΒ» ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ 10, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ°ΡΡΡ Exit Do ΠΈ ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
For Each
Π VBA Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» Β«For EachΒ».
ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π² Excel VBA:
- ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ½ΠΈΠ³.
- ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²ΡΠ΅Ρ Π»ΠΈΡΡΠΎΠ² Π² ΠΊΠ½ΠΈΠ³Π΅.
- ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²ΡΠ΅Ρ ΡΡΠ΅Π΅ΠΊ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΡΠ΅Π΅ΠΊ.
- ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²ΡΠ΅Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ ΠΈΠ»ΠΈ ΡΠΈΠ³ΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» Β«For EachΒ», Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΉΡΠΈΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π°Π΄ Π½ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ ΠΈΡ , ΠΈΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° Β«For EachΒ» (ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΊΠ»ΠΎΠΌ Β«For Each-NextΒ») Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
Π¦ΠΈΠΊΠ» Β«For EachΒ» Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΡΠΈΡΠΈΡΡ Π²ΡΠ΅ Π»ΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅, ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π΅ΡΡΡ Π»ΠΈ Ρ Π²Π°Ρ ΠΊΠ½ΠΈΠ³Π° Ρ 3 Π»ΠΈΡΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ 30 Π»ΠΈΡΡΠ°ΠΌΠΈ.
ΠΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° For Each-Next Π² Excel VBA.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ [ΠΠ»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ] Next [element]
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»Π° For Each Π² Excel.
ΠΡΠΈΠΌΠ΅Ρ 1. ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ (ΠΈ Π·Π°ΡΠΈΡΠΈΡΠ΅ Π΅Π΅)
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠ½ΠΈΠ³Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΡΠΈΡΠΈΡΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ.
ΠΠΈΠΆΠ΅ ΡΠΈΠΊΠ»Π° For Each-Next ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ:
Sub ProtectSheets () Dim ws ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ws Π² ActiveWorkbook.Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ ws.Protect Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ws End Sub
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Β«wsΒ» ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ°. ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ VBA, ΡΡΠΎ Β«wsΒ» ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° Π² ΠΊΠΎΠ΄Π΅.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«For EachΒ» Π΄Π»Ρ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Β«wsΒ» (ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ°) Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠΈΡ Π»ΠΈΡΡΠΎΠ² Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ (ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ActiveWorkbook.Worksheets).
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΡΡΠ°Π»ΠΈΡΡ Π·Π°ΡΠΈΡΠΈΡΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅, Π·Π΄Π΅ΡΡ Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡΠΎΠ² Π² ΠΊΠ½ΠΈΠ³Π΅.
ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΈΠΊΠ». Π¦ΠΈΠΊΠ» For Each Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ.
ΠΡΠΈΠΌΠ΅Ρ 2 - ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ (ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π²ΡΠ΅)
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΠΈΠΆΠ΅ ΠΊΠΎΠ΄ VBA ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π΄Π»Ρ Π½Π°Ρ:
Sub SaveAllWorkbooks () Dim wb As Workbook ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΠ Π² ΠΊΠ½ΠΈΠ³Π°Ρ wb.Save Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ wb End Sub
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ (ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ Π΅Π΅ Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·).
ΠΠ½ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π±ΡΠ»Π° ΠΏΠ°ΠΏΠΊΠ° Β«ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡΒ»). ΠΡΠΎΡ ΠΊΠΎΠ΄ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ, Π²Ρ Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π±ΡΡΡΡΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ.
ΠΡΠΈΠΌΠ΅Ρ 3 - ΠΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ (Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ)
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» Β«ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎΒ», Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ΅ΠΉΠΊΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° Π΅Π΅ ΠΎΡΠ½ΠΎΠ²Π΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΡΠ΅ΠΉΠΊΠ°ΠΌ Π² Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΈ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²Π΅Ρ ΡΡΠ΅Π΅ΠΊ Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π½Π° ΠΊΡΠ°ΡΠ½ΡΠΉ.
Sub HighlightNegativeCells () Dim Cll As Range ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΡΠ»ΠΈ Cll.Value <0, ΡΠΎ Cll.Interior.Color = vbRed ΠΠΎΠ½Π΅Ρ, Π΅ΡΠ»ΠΈ Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Cll End Sub
(ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Cll Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ Cell. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Sheets ΠΈΠ»ΠΈ Range, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ )
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΡΠΈΠΊΠ» For Each-Next ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π½Π°Π±ΠΎΡ ΡΡΠ΅Π΅ΠΊ Π² Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ.ΠΠΏΠ΅ΡΠ°ΡΠΎΡ IF ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΠΉΠΊΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΅ΠΉΠΊΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ Π²Π½ΡΡΡΠΈ, ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ΅ΠΉΠΊΠ΅.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ VBA Π²ΡΠ΄Π΅Π»ΡΠ» Π²ΡΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ (ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ Control + Shift + ΡΡΡΠ΅Π»ΠΊΠ° Π²Π½ΠΈΠ· Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π²ΡΠ΅Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΡΠ΅Π΅ΠΊ), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub HighlightNegativeCells () Dim Cll As Range Dim Rng As Range Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Rng = Range ("A1", Range ("A1").ΠΠΎΠ½Π΅Ρ (xlDown)) ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π²ΠΎΠ½ΠΊΠ° Π² Rng ΠΡΠ»ΠΈ Cll.Value <0, ΡΠΎ Cll.Interior.Color = vbRed ΠΠΎΠ½Π΅Ρ, Π΅ΡΠ»ΠΈ Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Cll End Sub
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΡΠ΅Π΅ΠΊ. ΠΠ½ Π½Π°ΡΠ½Π΅ΡΡΡ Ρ ΡΡΠ΅ΠΉΠΊΠΈ A1 ΠΈ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΡΠΌΠ΅ΠΆΠ½ΡΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅.
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΡΡΡ ΡΡΠ΅ΠΉΠΊΡ A1. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΡΠ΅ΠΉΠΊΡ, ΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΎΠ½ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅ A (Π½Π°ΡΠΈΠ½Π°Ρ Ρ A1) ΠΈ ΡΠ°ΡΠΊΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ.
Β«Exit ForΒ» Statment
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«Exit ForΒ» Π² ΡΠΈΠΊΠ»Π΅ For Each-Next, ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π°. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 3, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π½Π°Π±ΠΎΡ ΡΡΠ΅Π΅ΠΊ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΅ΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ VBA.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ VBA, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ:
Sub HighlightNegativeCells () Dim Cll As Range ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΡΠ»ΠΈ WorksheetFunction.ΠΠΈΠ½ (ΠΡΠ±ΠΎΡ)> = 0 ΠΠ°ΡΠ΅ΠΌ Π²ΡΠΉΡΠΈ Π΄Π»Ρ ΠΡΠ»ΠΈ Cll.Value <0, ΡΠΎ Cll.Interior.Color = vbRed ΠΠΎΠ½Π΅Ρ, Π΅ΡΠ»ΠΈ Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Cll End Sub
ΠΠ΄Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠΎΠ΄ VBA
Π₯ΠΎΡΠΈΡΠ΅ Π·Π½Π°ΡΡ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠ΄ VBA Π² Π²Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ Excel?
Excel ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΡΡ VBA, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ VBA. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π² ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ΄ΡΠ»Ρ VB Editor.
ΠΠΎΡ ΡΠ°Π³ΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ:
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ Visual Basic.ΠΡΠΎ ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ VB Π² Π±ΡΠΊΡΠ½Π΄Π΅.
- Π ΠΏΠ°Π½Π΅Π»ΠΈ Project Explorer Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ VB ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ½ΠΈΠ³ΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π²ΠΈΠ΄ΠΈΡΠ΅ Project Explorer, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ View ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Project Explorer.
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ "ΠΡΡΠ°Π²ΠΈΡΡ" ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ "ΠΠΎΠ΄ΡΠ»Ρ". ΠΡΠΎ Π²ΡΡΠ°Π²ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.
- Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠ΄ Π² ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ Excel:
Excel VBA Loop - Easy Excel Macros
ΠΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΡ | ΠΠ²ΠΎΠΉΠ½Π°Ρ ΠΏΠ΅ΡΠ»Ρ | Π’ΡΠΎΠΉΠ½Π°Ρ ΠΏΠ΅ΡΠ»Ρ | Π‘Π΄Π΅Π»Π°ΠΉ, ΠΏΠΎΠΊΠ° ΡΠΈΠΊΠ»
Π¦ΠΈΠΊΠ» - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΌΠΎΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.Π¦ΠΈΠΊΠ» Π² Excel VBA ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΡΠ΅Π΅ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°.
ΠΠ΄Π½ΠΎΠΊΠΎΠ½ΡΡΡΠ½ΡΠΉ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ» Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΡΠ΅Π΅ΠΊ.
ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π»ΠΈΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°:
Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
ΠΠ»Ρ i = ΠΎΡ 1 Π΄ΠΎ 6
Π―ΡΠ΅ΠΉΠΊΠΈ (i, 1). Value = 100
Next i
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π»ΠΈΡΡΠ΅:
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅: Π‘ΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ For ΠΈ Next Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΠ΅ΡΡΡ ΡΠ°Π·.ΠΠ»Ρ i = 1 Excel VBA Π²Π²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 100 Π² ΡΡΠ΅ΠΉΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ 1 ΠΈ ΡΡΠΎΠ»Π±ΡΠ° 1. ΠΠΎΠ³Π΄Π° Excel VBA Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Next i, ΠΎΠ½ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ i Π½Π° 1 ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ For. ΠΠ»Ρ i = 2 Excel VBA Π²Π²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 100 Π² ΡΡΠ΅ΠΉΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ 2 ΠΈ ΡΡΠΎΠ»Π±ΡΠ° 1 ΠΈ Ρ. Π.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³Π΄Π° Π΄Π΅Π»Π°ΡΡ ΠΎΡΡΡΡΠΏ (ΡΠ°Π±ΡΠ»ΡΡΠΈΡ) ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ For ΠΈ Next. ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ²ΠΎΠΉΠ½Π°Ρ ΠΏΠ΅ΡΠ»Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΈΠΊΠ» Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΡΠ΅Π΅ΠΊ.
ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π»ΠΈΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°:
Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, j ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
ΠΠ»Ρ i = ΠΎΡ 1 Π΄ΠΎ 6
ΠΠ»Ρ j = ΠΎΡ 1 Π΄ΠΎ 2
Π―ΡΠ΅ΠΉΠΊΠΈ (i, j). ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ = 100
ΠΠ°Π»Π΅Π΅ j
ΠΠ°Π»Π΅Π΅ i
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π»ΠΈΡΡΠ΅:
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅: ΠΠ»Ρ i = 1 ΠΈ j = 1 Excel VBA Π²Π²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 100 Π² ΡΡΠ΅ΠΉΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ 1 ΠΈ ΡΡΠΎΠ»Π±ΡΠ° 1. ΠΠΎΠ³Π΄Π° Excel VBA Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Next j, ΠΎΠ½ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ j Π½Π° 1 ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊ For j. ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅.ΠΠ»Ρ i = 1 ΠΈ j = 2 Excel VBA Π²Π²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 100 Π² ΡΡΠ΅ΠΉΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ 1 ΠΈ ΡΡΠΎΠ»Π±ΡΠ° 2. ΠΠ°ΡΠ΅ΠΌ Excel VBA ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Next j, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ j Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ 1 Π΄ΠΎ 2. ΠΠΎΠ³Π΄Π° Excel VBA Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Next i , ΠΎΠ½ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ i Π½Π° 1 ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ For i. ΠΠ»Ρ i = 2 ΠΈ j = 1 Excel VBA Π²Π²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 100 Π² ΡΡΠ΅ΠΉΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ 2 ΠΈ ΡΡΠΎΠ»Π±ΡΠ° 1 ΠΈ Ρ. Π.
Π’ΡΠΎΠΉΠ½Π°Ρ ΠΏΠ΅ΡΠ»Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΠΉΠ½ΠΎΠΉ ΡΠΈΠΊΠ» Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π»ΠΈΡΡΠ°Ρ Excel.
ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π»ΠΈΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°:
Dim c ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅, i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅, j ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅
ΠΠ»Ρ c = ΠΎΡ 1 Π΄ΠΎ 3
ΠΠ»Ρ i = ΠΎΡ 1 Π΄ΠΎ 6
ΠΠ»Ρ j = ΠΎΡ 1 Π΄ΠΎ 2
Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ (c) .Cells (i, j) .Value = 100
ΠΠ°Π»Π΅Π΅ j
ΠΠ°Π»Π΅Π΅ i
ΠΠ°Π»Π΅Π΅ c
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅: ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π²Π½Π΅ΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ» ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ (c).ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠ΅ΠΉΠΊΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ Π»ΠΈΡΡΠ΅ Π΄Π»Ρ c = 1, Π²ΡΠΎΡΠΎΠΌ Π»ΠΈΡΡΠ΅ Π΄Π»Ρ c = 2 ΠΈ ΡΡΠ΅ΡΡΠ΅ΠΌ Π»ΠΈΡΡΠ΅ Π΄Π»Ρ c = 3. ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Excel, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
Π¦ΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΈΠΊΠ»Π° For Next, Π² Excel VBA Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΊΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΠΊΠ» Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ, ΠΏΠΎΠΊΠ°Β». ΠΠΎΠ΄, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Do While ΠΈ Loop, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΠ°ΡΡΡ ΠΏΠΎΡΠ»Π΅ Do While ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true.
1. ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π»ΠΈΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°:
Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
i = 1
ΠΠ΅Π»Π°ΡΡ, ΠΏΠΎΠΊΠ° i <6
Π―ΡΠ΅ΠΉΠΊΠΈ (i, 1).ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ = 20
i = i + 1
ΠΠ΅ΡΠ»Ρ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π»ΠΈΡΡΠ΅:
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅: ΠΏΠΎΠΊΠ° i ΠΌΠ΅Π½ΡΡΠ΅ 6, Excel VBA Π²Π²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 20 Π² ΡΡΠ΅ΠΉΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ i ΠΈ ΡΡΠΎΠ»Π±ΡΠ° 1 ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ i Π½Π° 1. Π Excel VBA (ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ) ΡΠΈΠΌΠ²ΠΎΠ» ' = 'Π·Π½Π°ΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ. ΠΡΠΎ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ°Π²Π½ΡΡ . ΠΡΠ°ΠΊ, i = i + 1 ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ i ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ i + 1. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ: Π²ΠΎΠ·ΡΠΌΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ i ΠΈ ΠΏΡΠΈΠ±Π°Π²ΡΡΠ΅ ΠΊ Π½Π΅ΠΌΡ 1.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ i = 1, i ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ 1 + 1 = 2. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 20 Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΎ Π² ΡΡΠΎΠ»Π±Π΅Ρ A ΠΏΡΡΡ ΡΠ°Π· (Π° Π½Π΅ ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Excel VBA ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° i ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π²Π½ΡΠΌ 6).
2. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»Π° Π² ΡΡΠΎΠ»Π±Π΅Ρ A.
3. ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π»ΠΈΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°:
Dim i ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
i = 1
Do While Cells (i, 1) .Value <> ""
Cells (i, 2) .Value = Cells (i, 1) .Value + 10
i = i + 1
ΠΠ΅ΡΠ»Ρ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π»ΠΈΡΡΠ΅:
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅: ΠΏΠΎΠΊΠ° Cells (i, 1).ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΡΡΠΎΠ΅ (<> ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π΅ ΡΠ°Π²Π½ΠΎ), Excel VBA Π²Π²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΉΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ i ΠΈ ΡΡΠΎΠ»Π±ΡΠ° 2, ΡΡΠΎ Π½Π° 10 Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΉΠΊΠ΅ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ i ΠΈ ΡΡΠΎΠ»Π±ΡΠ° 1. . Excel VBA ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° i ΡΠ°Π²Π½ΠΎ 7, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Cells (7, 1) .Value ΠΏΡΡΡΠΎ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π½Π° Π»ΠΈΡΡΠ΅.
ΡΠΈΠΊΠ»ΠΎΠ² Excel VBA - Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΈ Π΄Ρ.
ΠΠ»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² VBA Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠΈΠΊΠ»Ρ.
Π¦ΠΈΠΊΠ»Ρ
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π· ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Π½Π°Π±ΠΎΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, Π½Π° ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΏΠ΅ΡΠ»ΠΈ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΡΠΈΠΌ Π²Π°Ρ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π»Ρ.
ΠΡΡΡΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΠ»Π° VBA
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ»ΠΈ
For Each Loops Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΈΠΊΠ» ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π»ΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.
Π¦ΠΈΠΊΠ» ΠΏΠΎ Π²ΡΠ΅ΠΌ Π»ΠΈΡΡΠ°ΠΌ Π² ΠΊΠ½ΠΈΠ³Π΅
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ Π»ΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π»ΠΈΡΡ:
Sub LoopThroughSheets () Dim ws As Worksheet ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ws Π² ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ WS.Visible = True Next End Sub |
Π¦ΠΈΠΊΠ» ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΡΠ΅ΠΉΠΊΠ°ΠΌ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΡΠ΅Π΅ΠΊ, ΠΏΡΠΎΠ²Π΅ΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ Π½ΡΠ»Π΅Π²ΡΠΌ:
Sub If_Loop () Dim Cell as Range ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ("A2: A6") ΠΡΠ»ΠΈ Cell.Value> 0, ΡΠΎ Cell.Offset (0, 1) .Value = "ΠΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ " ElseIf Cell.ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ <0 Π’ΠΎΠ³Π΄Π° Cell.Offset (0, 1) .Value = "Negative" Else Cell.Offset (0, 1) .Value = "Zero" End If Next Cell End Sub |
AutoMacro - ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π° VBA
Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ²
ΠΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ ΡΠΈΠΊΠ»Π° Β«ForΒ» - ΡΡΠΎ ΡΠΈΠΊΠ» For Next. Π¦ΠΈΠΊΠ» For Next Loop ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°.
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ ΠΎΠΊΠ½ΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ:
Sub ForLoop () Dim i As Integer For i = 1 To 10 MsgBox i Next i End Sub |
Π¦ΠΈΠΊΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° "ΠΠΎΠΊΠ°"
Do While Loops Π±ΡΠ΄Π΅Ρ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°ΡΡΡΡ, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ ΠΎΠΊΠ½ΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
Sub DoWhileLoop () Dim n As Integer n = 1 Do While n <11 MsgBox n n = n + 1 Loop End Sub |
ΠΠΎ ΡΠΈΠΊΠ»ΠΎΠ²
Π Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Β», Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠΈΠΊΠ»Π΅, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.ΠΡΠΎΡ ΠΊΠΎΠ΄ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π΄Π²ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ .
Sub DoUntilLoop () Dim n As Integer n = 1 ΠΠΎ n> = 10 MsgBox n n = n + 1 Loop End Sub |
ΠΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΡΠΎ Π½ΠΈΠΆΠ΅, Π½ΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΡΠΌ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΈΠΊΠ»ΠΎΠ² Do While ΠΈΠ»ΠΈ Do Not, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ».
ΠΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ ΡΠΈΠΊΠ»ΠΎΠ² VBA
ΠΡΠΎ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΊΡΠ°Π½Π° Β«Loop BuilderΒ» ΠΈΠ· Π½Π°ΡΠ΅ΠΉ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΈ Premium VBA: AutoMacro. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΈΠΊΠ»ΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΈΠΊΠ»Ρ Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΈΡΠ΅Π». ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈ / ΠΈΠ»ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ.
ΠΠ°Π΄ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΠ΄Π°, ΠΎΠ±ΡΠΈΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠΎΠ΄Π° VBA ΠΈ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° VBA.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΏΠ΅ΡΠ΅Π»Ρ.
VBA Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π°
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π°
Π¦ΠΈΠΊΠ» For Next Loop ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
[Dim Counter as Integer] For Counter = Start to End [Step Value] [Do Something] Next [Counter] |
ΠΠ΄Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ.
- [Dim Counter as Long] - ΠΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠ°. Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ Option Explicit ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ.
- Π‘ΡΠ΅ΡΡΠΈΠΊ - Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ°
- Start - ΠΠ°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΠΡΠΈΠΌΠ΅Ρ 1)
- ΠΠΎΠ½Π΅Ρ - ΠΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΠΡΠΈΠΌΠ΅Ρ 10)
- [ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π³Π°] - ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΈΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ n ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ 1 ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΉΡΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,Π¨Π°Π³ -1)
- [Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ] - ΠΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ
- Next [Counter] - ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Π·Π°ΠΊΡΡΡΠΈΡ ΡΠΈΠΊΠ»Π° For Next. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΅ΡΡΠΈΠΊ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΅ΡΡΠΈΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, Π½Π΅ Π²ΠΎΠ»Π½ΡΠΉΡΠ΅ΡΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²:
Π‘ΡΠΈΡΠ°ΠΉΡΠ΅ Π΄ΠΎ 10
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡ Π΄ΠΎ 10 Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»Π° For-Next:
Sub ForEach_CountTo10 () Dim n As Integer For n = 1 To 10 MsgBox n Next n End Sub |
ΠΠ»Ρ ΡΠ°Π³Π° ΡΠΈΠΊΠ»Π°
Π‘ΡΠΈΡΠ°ΠΉ Π΄ΠΎ 10 - ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡ Π΄ΠΎ 10, ΡΡΠΈΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°:
Sub ForEach_CountTo10_Even () Dim n As Integer For n = 2 To 10 Step 2 MsgBox n Next n End Sub |
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Β«Π¨Π°Π³ 2Β».ΠΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΠΊΠ»Ρ For Β«ΠΏΡΠΎΠΉΡΠΈΒ» ΡΠ΅ΡΠ΅Π· ΡΡΠ΅ΡΡΠΈΠΊ Π½Π° 2. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π³Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ:
Π΄Π»Ρ ΡΠ°Π³Π° ΡΠΈΠΊΠ»Π° - ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ
ΠΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΎΡΡΡΠ΅Ρ ΠΎΡ 10
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ 10:
Sub ForEach_Countdown_Inverse () Dim n As Integer For n = 10 To 1 Step -1 MsgBox n Next n MsgBox Β«Lift OffΒ» End Sub11 |
Π£Π΄Π°Π»ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ, Π΅ΡΠ»ΠΈ ΡΡΠ΅ΠΉΠΊΠ° ΠΏΡΡΡΠ°
Π― ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠΈΠΊΠ» For-Loop Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ°Π³ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ ΡΡΠ΅Π΅ΠΊ, ΡΠ΄Π°Π»ΡΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ.ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ ΠΎΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΡΡΠΎΠΊ ΠΊ Π½ΠΈΠΆΠ½ΠΈΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ, ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊ Π²Ρ ΠΈΡΠΏΠΎΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΡΡΠ΅ΡΡΠΈΠΊ.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΡΡΡΡΠΌΠΈ ΡΡΠ΅ΠΉΠΊΠ°ΠΌΠΈ (Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΡΡΠΎΠΊΠΈ):
Sub ForEach_DeleteRows_BlankCells () Dim n As Integer For n = 10 To 1 Step -1 If Range ("a" & n) .Value = "" Π’ΠΎΠ³Π΄Π° Range ("a" & n) .EntireRow.Delete End If Next n End Sub |
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠΈΠΊΠ»Π°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Β«Π²Π»ΠΎΠΆΠΈΡΡΒ» ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ» For Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΊΠ» For.ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Nested For Loops Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ:
Sub Nested_ForEach_MultiplicationTable () Π’ΡΡΠΊΠ»Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΡΠΎΠ»Π±Π΅Ρ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΠ»Ρ ΡΡΡΠΎΠΊΠΈ = ΠΎΡ 1 Π΄ΠΎ 9 ΠΠ»Ρ ΡΡΠΎΠ»Π±ΡΠ° = ΠΎΡ 1 Π΄ΠΎ 9 Π―ΡΠ΅ΠΉΠΊΠΈ (ΡΡΡΠΎΠΊΠ° + 1, ΡΡΠΎΠ»Π±Π΅Ρ + 1) .Value = ΡΡΡΠΎΠΊΠ° * ΡΡΠΎΠ»Π±Π΅Ρ Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° End Sub |
ΠΡΡ ΠΎΠ΄ Π΄Π»Ρ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Exit For ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° For Next.
ΠΠ±ΡΡΠ½ΠΎ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Exit For Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ If, Π²ΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΠΈΠΊΠ»Π° For Next Loop, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» For Loop Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠ΅ΠΉΠΊΠΈ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ° ΡΡΠ΅ΠΉΠΊΠ° Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π°, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΠΊΠΎΠ΄.
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ Ρ 1 ΠΏΠΎ 1000, ΠΈΡΠ° Β«ΠΎΡΠΈΠ±ΠΊΡΒ» Π² ΡΡΠΎΠ»Π±ΡΠ΅ A. ΠΡΠ»ΠΈ ΠΎΠ½Π° Π½Π°ΠΉΠ΄Π΅Π½Π°, ΠΊΠΎΠ΄ Π²ΡΠ±Π΅ΡΠ΅Ρ ΡΡΠ΅ΠΉΠΊΡ, ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡ Π²Π°Ρ ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΠΈΠΊΠ»Π°:
Sub ExitFor_Loop () Dim i As Integer For i = 1 To 1000 If Range ("A" & i).ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ = "ΠΎΡΠΈΠ±ΠΊΠ°" Π’ΠΎΠ³Π΄Π° ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A" & i). ΠΡΠ±Π΅ΡΠΈΡΠ΅ MsgBox "ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°" ΠΡΡ ΠΎΠ΄ Π΄Π»Ρ ΠΠΎΠ½Π΅Ρ ΠΡΠ»ΠΈ ΠΠ°Π»Π΅Π΅ i ΠΠΎΠ½Π΅Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ |
ΠΠ°ΠΆΠ½ΠΎ: Π ΡΠ»ΡΡΠ°Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ² For, Exit For Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΈΠΊΠ» For, Π° Π½Π΅ Π²ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π΄Π»Ρ
VBA Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡΒ», ΠΊΠΎΡΠΎΡΠ°Ρ Π΅ΡΡΡ Π² Visual Basic. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«ΠΡΡ ΠΎΠ΄Β».
VBA Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°
VBA For Each Loop Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ:
- ΠΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
- ΠΡΠ΅ Π»ΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅
- ΠΡΠ΅ ΡΠΎΡΠΌΡ Π½Π° Π»ΠΈΡΡΠ΅
- ΠΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Nested For Each Loops Π΄Π»Ρ:
- ΠΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π½Π° Π²ΡΠ΅Ρ Π»ΠΈΡΡΠ°Ρ
- ΠΡΠ΅ ΡΠΎΡΠΌΡ Π½Π° Π²ΡΠ΅Ρ Π»ΠΈΡΡΠ°Ρ
- ΠΡΠ΅ Π»ΠΈΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ½ΠΈΠ³Π°Ρ
- ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅β¦
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ [Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ] ΠΠ°Π»Π΅Π΅ [ΠΠ±ΡΠ΅ΠΊΡ] |
ΠΠ΄Π΅:
- ΠΠ±ΡΠ΅ΠΊΡ - ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ°Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ, ΡΠ°Π±ΠΎΡΡΡ ΠΊΠ½ΠΈΠ³Ρ, ΡΠΎΡΠΌΡ ΠΈ Ρ. Π.(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, RNG)
- ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ - ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Range (Β«a1: a10Β»)
- [Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ] - ΠΠ»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅
- Π‘Π»Π΅Π΄. [ΠΠ±ΡΠ΅ΠΊΡ] - ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. [ΠΠ±ΡΠ΅ΠΊΡ] Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, Π½ΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ.
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ΅ΠΉΠΊΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅:
Sub ForEachCell_inRange () Π’ΡΡΠΊΠ»Π°Ρ ΡΡΠ΅ΠΉΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ("a1: a10") ΡΡΠ΅ΠΉΠΊΠ°.Value = cell.Offset (0,1) .Value Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ΅ΠΉΠΊΠ° End Sub |
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΠ΅ΡΡΠ°Π΄ΠΈ
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ Π»ΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅, ΡΠ½ΠΈΠΌΠ°Ρ Π·Π°ΡΠΈΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π»ΠΈΡΡΠ°:
Sub ForEachSheet_inWorkbook () Dim ws As Worksheet For Each ws In Worksheets ws.Unprotect "password" Next ws End Sub |
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠΎΡ ΡΠ°Π½ΠΈΡ ΠΈ Π·Π°ΠΊΡΠΎΠ΅Ρ Π²ΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ:
Sub ForEachWB_inWorkbooks () Dim wb As Workbook ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ wb Π² ΠΊΠ½ΠΈΠ³Π°Ρ wb.ΠΠ°ΠΊΡΡΡΡ SaveChanges: = True Next wb End Sub |
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΌΡ Π½Π° Π»ΠΈΡΡΠ΅
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ΄Π°Π»ΠΈΡ Π²ΡΠ΅ ΡΠΈΠ³ΡΡΡ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ Π»ΠΈΡΡΠ΅.
Sub ForEachShape () Dim shp As Shape ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ shp Π² ActiveSheet.Shapes shp.Delete Next shp End Sub |
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΌΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π»ΠΈΡΡΠ΅ Π² ΠΊΠ½ΠΈΠ³Π΅
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ For Each Loops.ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΠΈΠ³ΡΡΠ°ΠΌ Π½Π° Π²ΡΠ΅Ρ Π»ΠΈΡΡΠ°Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ:
Sub ForEachShape_inAllWorksheets () Dim shp As Shape, ws As Worksheet For Each ws In Worksheets For each shp In ws.Shapes ΠΠΎΠ½ΡΠ΅Π²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊ |
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ - IF Loop
ΠΠ°ΠΊ ΠΌΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ If Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, Π²ΡΠΏΠΎΠ»Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π².
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠΊΡΠΎΠ΅Ρ Π²ΡΠ΅ ΠΏΡΡΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅:
Sub ForEachCell_inRange () Π’ΡΡΠΊΠ»Π°Ρ ΡΡΠ΅ΠΉΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ("a1: a10") ΠΡΠ»ΠΈ cell.Value = "" Π’ΠΎΠ³Π΄Π° _ cell.EntireRow.Hidden = True Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ΅ΠΉΠΊΠ° End Sub |
Π¦ΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° Π² VBA
ΠΠΎΠΌΠ°Π½Π΄Ρ VBA Do While ΠΈ Do While (ΡΠΌ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·Π΄Π΅Π») ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ.ΠΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΠΈΠΊΠ», ΠΏΠΎΠΊΠ° (ΠΈΠ»ΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ°) Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
Π¦ΠΈΠΊΠ» Do While Loop Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΠΈΠΊΠ», ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
ΠΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Do while:
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ [Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ] Π¦ΠΈΠΊΠ» |
ΠΠ΄Π΅:
- Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ - Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
- [Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ] - ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΈΠΊΠ» Do While Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°:
Π‘Π΄Π΅Π»Π°ΡΡ [Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ] ΠΠ°ΡΠΈΠΊΠ»ΠΈΡΡ, ΠΏΠΎΠΊΠ° Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ |
ΠΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ΠΌ ΠΎΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ:
ΠΠ΅Π»Π°ΠΉ, ΠΏΠΎΠΊΠ°
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΠΊΠ»Π° Do While, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅:
Sub DoWhileLoop () Dim n As Integer n = 1 Do While n <11 MsgBox n n = n + 1 Loop End Sub |
Π¦ΠΈΠΊΠ» Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡ ΠΆΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΈΠΊΠ»Π°:
Sub DoLoopWhile () Dim n As Integer n = 1 Do MsgBox n n = n + 1 Loop While n <11 End Sub |
VBA ΠΠΎ ΡΠΈΠΊΠ»Π°
Do until Loops Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΠΈΠΊΠ» Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΡΠΈΠΊΠ»ΠΎΠ² Do While:
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ [Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ] Π¦ΠΈΠΊΠ» |
ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ΄ΡΠΈ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°:
Do [Do Something] Π¦ΠΈΠΊΠ» Π΄ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ |
ΠΠΎ
ΠΡΠΎΡ ΡΠΈΠΊΠ» do until Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡ Π΄ΠΎ 10, ΠΊΠ°ΠΊ ΠΈ Π² Π½Π°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
Sub DoUntilLoop () Dim n As Integer n = 1 ΠΠΎ n> 10 MsgBox n n = n + 1 Loop End Sub |
Π¦ΠΈΠΊΠ» Π΄ΠΎ
ΠΡΠΎΡ ΡΠΈΠΊΠ» Π΄ΠΎ ΡΠΈΠΊΠ»Π° Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡ Π΄ΠΎ 10:
Sub DoLoopUntil () Dim n As Integer n = 1 Do MsgBox n n = n + 1 Π¦ΠΈΠΊΠ» Π΄ΠΎ n> 10 End Sub |
ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠΈΠΊΠ»Π°
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Exit For Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° For, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Exit Do Π΄Π»Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° Do
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Exit Do:
Sub ExitDo_Loop () Dim i As Integer i = 1 Do until i> 1000 If Range ("A" & i).ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ = "ΠΎΡΠΈΠ±ΠΊΠ°" ΠΠ°ΡΠ΅ΠΌ ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A" & i). ΠΡΠ±Π΅ΡΠΈΡΠ΅ MsgBox "ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°" Exit Do End If i = i + 1 Loop End Sub |
ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΡΠ²Π½Π°Ρ ΠΏΠ΅ΡΠ»Ρ
ΠΠ°ΠΊ ΠΌΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ Π²ΡΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Exit For ΠΈΠ»ΠΈ Exit Do Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»ΠΎΠ²:
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² Π²Π°Ρ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠΈΠΊΠ»Π°.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Β«ΡΠ°Π·ΠΎΡΠ²Π°ΡΡΒ» ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΈΠΊΠ», Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ ESC ΠΈΠ»ΠΈ CTRL + Pause Break .ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΆΠ΄Π°ΡΡΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ, Π² ΡΠ»ΡΡΠ°Π΅ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ CTRL + ALT + Delete , ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΊΡΡΡΡ Excel.
ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΡΡΠ°ΡΠ°ΡΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΠΈΠΊΠ»ΠΎΠ² Do: ΠΏΡΠΎΡΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΡΠ°Π²ΠΈΡ Π²Π°Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ Excel, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ.
ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΠ»ΠΎΠ²
Π‘ΠΊΠ²ΠΎΠ·Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ
ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅:
Public Sub LoopThroughRows () Dim cell As Range For each cell In Range ("A: A") Ff cell.Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ <> "" Π·Π°ΡΠ΅ΠΌ MsgBox cell.address & ":" & cell.value Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ΅ΠΉΠΊΠ° End Sub |
ΠΡΠΎΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½Π½Ρ
ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ Π² ΡΡΡΠΎΠΊΠ΅:
Public Sub LoopThroughColumns () Dim cell As Range For Each cell In Range ("1: 1") If cell.Value <> "" ΠΠ°ΡΠ΅ΠΌ MsgBox cell.Address & ":" & ΠΊΠ»Π΅ΡΠΊΠ°.ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ΅ΠΉΠΊΠ° End Sub |
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΏΠΊΠ΅
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠΏΠΈΡΠΎΠΊ:
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 18 19 | Sub LoopThroughFiles () Dim oFSO As Object Dim oFolder As Object Dim oFile As Object Dim i As Integer Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ oFSO = CreateObject. ("FileSystemObject ") Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ oFolder = oFSO.GetFolder (" C: \ Demo) i = 2 ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ oFile In oFolder.Files ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("Aue" & i) ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("Aue" & i) = oFile.Name i = i + 1 Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ oFile End Sub |
ΠΠ°ΡΡΠΈΠ² ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄Π°
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Β«arrListΒ»:
ΠΠ»Ρ i = LBound (arrList) To UBound (arrList) MsgBox arrList (i) Next i |
Π€ΡΠ½ΠΊΡΠΈΡ LBound ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Β«Π½ΠΈΠΆΠ½ΡΡ Π³ΡΠ°Π½ΠΈΡΡΒ» ΠΌΠ°ΡΡΠΈΠ²Π°, Π° UBound - Β«Π²Π΅ΡΡ Π½ΡΡ Π³ΡΠ°Π½ΠΈΡΡΒ».
ΠΠ΅ΡΠ»ΠΈ Π² Π΄ΠΎΡΡΡΠΏΠ΅ VBA
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Access VBA. ΠΠ΄Π½Π°ΠΊΠΎ Π² Access ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Recordset, Π° Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ Range.
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 18 | Sub LoopThroughRecords () ΠΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Dim dbs As Database Dim rst As Recordset Set dbs = CurrentDb Set rst = dbs.OpenRecordset ("tblClients", dbOpenDynaset) Π‘ ΠΏΠ΅ΡΠ²ΡΠΌ .MoveLast .MoveFirst ΠΠΎ .EOF = True MsgBox (rst.Fields ("ClientName" 0002000 0003 End With rst.Close Set rst = Nothing Set dbs = Nothing End Sub |
VBA Do Loop - Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Do Loop
Do Loop Π² VBA
Do Loop VBA - ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π» Π²Π½ΡΡΡΠΈ ΠΌΠ°ΠΊΡΠΎΡΠ° VBA Macros Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π² Excel VBA Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°.Π‘ΡΡΡΠΊΡΡΡΠ° ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Excel VBA Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π°ΡΠ°Π»ΠΎ ΡΠΎ ΡΡΡΠΎΠΊΠΈ sub () ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΊΠΎΠ΄Π° ΠΌΠ°ΠΊΡΠΎΡΠ°. ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Β«Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°ΡΡΡΡΒ» ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ. ΠΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΈΠΊΠ» Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠ°Π·, ΠΏΠΎΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠΈΡ ΠΏΠΎΡΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΡΠ΅ΠΉΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π°. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠΈΠΊΠ»Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π°Π΄Π΅ΠΆΠ½Ρ Π² ΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠ²ΠΈΡΡ ΡΠ²ΠΎΡΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ, Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠΌ ΡΠΈΠΊΠ», Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ ΠΈΠ»ΠΈ ΠΎΠ½Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΈΠΊΠ»Ρ VBA. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅? Π€ΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Excel Π΄Π»Ρ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.ΠΠ±Π·ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΈ Π·Π°ΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ. Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Do Loop Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, Π° ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΡΠΈΡ Π΄Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ . ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΠ°, Π³Π΄Π΅ Π²Π΅ΡΡ ΠΊΠΎΠ΄ ΠΌΠ°ΠΊΡΠΎΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Sub, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΌΠ°ΠΊΡΠΎΡ, ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° End Sub, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ. ΠΠ°ΠΊΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ², Π° ΡΠΈΠΊΠ»Ρ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΈΠΊΠ»Ρ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ Π΄ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ.
Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π½Π°Ρ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Excel VBA!
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠΈΠΊΠ»ΠΎΠ²
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠΈΠΊΠ»ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ-ΡΠ²ΠΎΠ΅ΠΌΡ.
- Π¦ΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ»
- Π¦ΠΈΠΊΠ» Β«ΠΠΎΠΊΠ°Β»
- ΠΠ»Ρ ΡΠΈΠΊΠ»Π° VBA Π΄Π»Ρ ΡΠΈΠΊΠ»Π° Π ΡΠΈΠΊΠ»Π΅ Β«ForΒ» VBA ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ. VBA For Loops ΠΌΠ΅Π½Π΅Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Ρ, ΡΠ΅ΠΌ Do Loops.
Π¦ΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ»
Π¦ΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ» Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ.ΠΡΠΈΡΠ΅ΡΠΈΠΉ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Β«Π΄Π΅Π»Π°ΡΡ Π΄ΠΎΒ». Π¦ΠΈΠΊΠ» Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Β«LoopΒ». ΠΡΠΎΡΡΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅.
Dim n ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
N = 0
ΠΠΎ n = 10
n = n + 1
Loop
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΊ Β«nΒ». ΠΠ°ΠΊΡΠΎΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0 Π² n.ΠΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΡΠΈΠΊΠ» Do until, ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ n = 10 Π½Π΅Π²Π΅ΡΠ΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. ΠΠ΅ΡΠ²Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ 1 ΠΊ n, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² 1. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ n ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ ΡΠ°Π²Π½ΠΎ 10, ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ 10 ΡΠ°Π·, ΠΏΠΎΠΊΠ° n Π½Π΅ ΡΡΠ°Π½Π΅Ρ 10. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ n = 10, ΠΌΠ°ΠΊΡΠΎΡ ΠΏΡΠΎΠΉΠ΄Π΅Ρ ΡΠΈΠΊΠ» ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΡΠ°ΡΡΠΈ. ΠΌΠ°ΠΊΡΠΎΡ.
ΠΡΠΎΡ ΡΠΈΠΏ ΡΠΈΠΊΠ»Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π΅ΡΡΡΡ ΡΡΡΠΎΠΊ Π² ΡΡΠΎΠ»Π±ΡΠ΅ A ΡΠ΅ΠΊΡΡΠΎΠΌ Β«ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ nΒ».ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Dim n ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
N = 0
ΠΠΎ n = 10
n = n + 1
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Β«AΒ» ΠΈ n). = Β«ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΒ» & n
Π¦ΠΈΠΊΠ»
ΠΠ°ΠΏΡΡΠΊ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠ° Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ ΡΡΠ΅ΠΉΠΊΡ A1 ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ 1, ΡΡΠ΅ΠΉΠΊΡ A2 - ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ 2 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΏΠΎΠΊΠ° ΡΡΠ΅ΠΉΠΊΠ° A10 Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ 10. Π ΡΡΠ΅ΠΉΠΊΠ΅ A10 Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ do Π΄ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ n = 10 Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ°ΠΊΡΠΎΡ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠΈΠΊΠ» ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ°Π±ΠΎΡΡ.
Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π½Π°Ρ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡ ΠΏΠΎ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Excel VBA!
Π¦ΠΈΠΊΠ» Do While
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΈΠΊΠ»Π° do while, ΡΠΈΠΊΠ» Do While Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΈΠΊΠ» Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ Π½Π΅ ΡΡΠ°Π½Π΅Ρ Π»ΠΎΠΆΠ½ΡΠΌ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠΈΠΊΠ» Do Loop Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ. ΠΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΠΊΠ»Π° do until. ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠ°ΠΊΡΠΎΡΠ°, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅, Π½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ do Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π° do while, ΠΌΠ°ΠΊΡΠΎΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΠ» ΡΠΈΠΊΠ».ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ n ΡΠ°Π²Π½ΠΎ 0 Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π° ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ n = 10. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ n ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ 10 Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΈΠΊΠ»Π°, ΠΎΠ½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΡΡ 10, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½.
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ Π² ΡΠΈΠΊΠ»Π΅ do while, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ.
Dim n ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
N = 0
Do while n <11
n = n + 1
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Β«AΒ» ΠΈ n).ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ = Β«ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΒ» & n
Π¦ΠΈΠΊΠ»
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ 11 Π²ΠΌΠ΅ΡΡΠΎ 10. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΠ°ΠΊΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ 10. ΠΡΠ»ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΡΠΈΠΊΠ»Π° Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° n <10, ΡΠΈΠΊΠ» Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ 9, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° n ΠΌΠ΅Π½ΡΡΠ΅ 10. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ 10 Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ 10, ΠΎΠ½ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ ΠΏΡΡΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ 10.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π ΠΈ ΠΠΠ Ρ Do Loop
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², Π²ΠΊΠ»ΡΡΠΈΠ² Π΄Π²Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ AND ΠΈΠ»ΠΈ OR.ΠΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π³ΠΎΠ²ΠΎΡΡΡ ΡΠ°ΠΌΠΈ Π·Π° ΡΠ΅Π±Ρ.
Π¦ΠΈΠΊΠ» do until Ρ Π΄Π²ΡΠΌΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ AND, Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ±Π° ΠΊΡΠΈΡΠ΅ΡΠΈΡ Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ. Π¦ΠΈΠΊΠ» do until Ρ Π΄Π²ΡΠΌΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ OR, Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π².
Π¦ΠΈΠΊΠ» do while Ρ Π΄Π²ΡΠΌΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ AND Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ±Π° ΠΊΡΠΈΡΠ΅ΡΠΈΡ.
Π¦ΠΈΠΊΠ» do while Ρ Π΄Π²ΡΠΌΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ ΠΠΠ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π².
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΌ Π² ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ Π΄Π²Π° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ° Π»Π΅Π²Π΅ΡΠΈΠ΄ΠΆΠ° ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π»Π΅Π²Π΅ΡΠΈΠ΄ΠΆΠ° ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ Π»Π΅Π²Π΅ΡΠΈΠ΄ΠΆΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π» Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π΄ΠΎΠ»Π³Π°, ΠΏΠΎΠ½Π΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΠΎΠ·ΡΠΉΡΡΠ²ΡΡΡΠΈΠΌ ΡΡΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ΅ΡΠ°ΠΌ Π² Π΅Π³ΠΎ Π±Π°Π»Π°Π½ΡΠ΅, ΠΎΡΡΠ΅ΡΠ΅ ΠΎ ΠΏΡΠΈΠ±ΡΠ»ΡΡ ΠΈ ΡΠ±ΡΡΠΊΠ°Ρ ΠΈΠ»ΠΈ ΠΎΡΡΠ΅ΡΠ΅ ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ Π΄Π΅Π½Π΅ΠΆΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ². Π¨Π°Π±Π»ΠΎΠ½ Excel Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠ°.
ΠΠ΅ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅ Do
Π ΡΠΈΠΊΠ»Π΅ For ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ. Π¦ΠΈΠΊΠ» for VBA Π ΡΠΈΠΊΠ»Π΅ For VBA ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ.VBA For Loops ΠΌΠ΅Π½Π΅Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Ρ, ΡΠ΅ΠΌ Do Loops. ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΠ»Π°ΠΌΠΈ do, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΠΌΠ΅ΡΡΠΎ n Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°Π³. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΈΠΊΠ»Ρ do ΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ for.
Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠΈΠΊΠ»Ρ for ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, ΡΠΈΠΊΠ»Ρ do ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠΈ ΠΈ Π΄Π°ΡΡ. Π¦ΠΈΠΊΠ» do ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΌΠ°ΠΊΡΠΎΡ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² 2017 Π³ΠΎΠ΄Ρ ΠΈ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ²ΠΈΠΈ Π³ΠΎΠ΄Π°.ΠΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡ Β«Π‘Π΄Π΅Π»Π°ΡΡ Π΄ΠΎ [DateVariable]Β» = 01.01.2018.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ, ΡΡΠΎΠ±Ρ ΠΌΠ°ΠΊΡΠΎΡ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΡΠ΅ΠΉΠΊΠ° ΠΏΡΡΡΠ°, Π° Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ° ΡΡΠ΅ΠΉΠΊΠ° Π±ΡΠ»Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΊΠ°ΠΊ Β«ΠΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°Β» (Β«A5Β»). ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ = «». ΠΠ½Π°ΠΊ «» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΡΡΡΡ ΡΡΠ΅ΠΉΠΊΡ. ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π―ΡΠ΅ΠΉΠΊΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΠΏΡΠΎΠ±Π΅Π», ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΡΡΡΠΎΠΉ, Π½ΠΎ VBAExcel Π½Π΅ ΡΡΠΈΡΠ°Π΅Ρ Π΅Π΅ ΠΏΡΡΡΠΎΠΉ. VBAVBA ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Visual Basic Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.Excel VBA - ΡΡΠΎ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Microsoft Π΄Π»Ρ Excel ΠΈ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Microsoft Office, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Word ΠΈ PowerPoint. ΠΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Office ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π½Π°Ρ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Excel VBA!
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌ Π²Π°Ρ Π·Π° ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° CFI ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΠΊΠ» Do Π² VBA. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Π°ΠΌ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ CFI:
- VBA Excel ExampleExcel VBA examplesExcel VBA ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ°ΠΊΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² Excel.Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Excel VBA, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΎΡ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Ρ ΠΌΠ°ΠΊΡΠΎΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΊΠ°ΠΊ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π΄Π°Π½Π½ΡΠ΅.
- VBA If Else VBA If Else ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° VBA If Else ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡΠ»Ρ if Π²Π½ΡΡΡΠΈ Excel. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ VBA Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π·Π° Π½ΠΈΠΌ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»Π΅Π³ΡΠ΅ ΡΠ»Π΅Π΄ΠΈΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ IF ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΊΠΎΠ±ΠΎΠΊ. Π ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ if Π½Π° ΡΠ·ΡΠΊΠ΅ VBA ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ IF ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°
- ΠΠ΅ΡΠΎΠ΄Ρ VBA ΠΠ΅ΡΠΎΠ΄Ρ VBA ΠΠ΅ΡΠΎΠ΄ VBA - ΡΡΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ VBA, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΠ΅ Π½Π° Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Excel, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
- Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΡΠ»Ρ Excel Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΡΠ»Ρ Excel, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡΠΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΡΠ»Ρ Excel ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΈ Π²ΡΠ²Π΅Π΄ΡΡ Π²Π°ΡΠΈ Π½Π°Π²ΡΠΊΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ. Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Excel
Π¦ΠΈΠΊΠ»Ρ VBA - ΡΠΈΠΊΠ»Ρ Π΄Π»Ρ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, Β«ΠΏΠΎΠΊΠ°Β» ΠΈ Β«Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ»
Π¦ΠΈΠΊΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² VBA Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². Π¦ΠΈΠΊΠ»Ρ ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ VBA Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. Π VBA ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠΈΠΊΠ»ΠΎΠ².ΠΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
- For Loop
- For Each Loop
- Do While Loop
- Do until Loop
- Wend Loop (ΡΡΡΠ°ΡΠ΅Π»ΠΎ)
Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ Ρ ΠΎΠ±ΡΡΡΠ½Ρ Π²ΡΠ΅ ΡΡΠΈ VBA Loop Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ . ΠΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ΅ΠΌΠ΅, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠΊΠ» ΠΈ Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ»Ρ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ?
Π¦ΠΈΠΊΠ» - ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
Π¦ΠΈΠΊΠ»Ρ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ΅Π»ΡΠΌ:
- ΠΠΎΠΌΠΎΠ³Π°Π΅Ρ Π² ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΈ Π½Π°Π±ΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
- ΠΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
- ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ½Π° ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅.
VBA FOR LOOP
Π¦ΠΈΠΊΠ» For ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ ΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠΈΠΊΠ»ΠΎΠ² Π² VBA. For Loop ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ Β«For Next LoopΒ».
Π¦ΠΈΠΊΠ»Ρ For ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ VBA For Loop
ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° For VBA ΠΈΠ»ΠΈ ΡΡΡΡΠΊΡΡΡΠ° For Loop Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
For loop_ctr = start_num To end_num [step_increment]
'ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
Next loop_ctr
ΠΠ΄Π΅ΡΡ loop_ctr ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π°. ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΡΠΈΠΊΠ»Π° Β«For Next LoopΒ», ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ Β«Ρ ΡΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΡΠΎΠΌ ΡΠΈΠΊΠ»Π°Β». ΠΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠΊΠ° ΡΠΈΠΊΠ» Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ.
Β«start_numΒ» - ΡΡΠΎ Π½ΠΎΠΌΠ΅Ρ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠΈΠΊΠ».
Β«end_numΒ» - ΡΡΠΎ Π½ΠΎΠΌΠ΅Ρ, Π΄ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΊΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ.
step_increment - Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. ΠΠ½ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, Π½Π° ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ loop_ctr Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ step_increment ΡΠ°Π²Π½ΠΎ 1. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ loop_ctr ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 1.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» VBA For Loop?
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΈΠΊΠ» For Π² VBA, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
For loop_ctr = 1 To 100
'ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
Next loop_ctr
- ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°' For loop_ctr = ΠΡ 1 Π΄ΠΎ 100, ΠΎΠ½ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΡΠ΅Ρ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ loop_ctr Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 1.
- ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° For.
- ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Β«Next loop_ctrΒ», Π·Π΄Π΅ΡΡ ΠΎΠ½ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Β«loop_ctrΒ» Π½Π° 1. Π ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Β«For loop_ctr = 1 Π΄ΠΎ 100Β», Π³Π΄Π΅ ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΈΠΌΠ΅Π΅Ρ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' Π΄ΠΎΡΡΠΈΠ³Π»ΠΎ 100 ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Π½ΡΡΠ΅ 100, ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ; Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ» ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ.
ΠΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» For Loop? ΠΠ΅ Π²ΠΎΠ»Π½ΡΠΉΡΠ΅ΡΡ.ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ.
VBA For Next Loop Flow Diagram
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΠΉ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ΅:
- ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ FOR. ΠΡΠΎΡ ΡΠ°Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ loop_ctr ΠΈ step_increment.
- ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΠ‘Π’ΠΠΠ, Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Β«ΠΠ»ΠΎΠΊ ΠΊΠΎΠ΄Π°Β» Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΠΠΠ¬, ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½Π΅ ΡΠΈΠΊΠ»Π° For.
- ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Β«Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°Β» Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° For, ΡΠΈΠΊΠ» Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«loop_ctrΒ» Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ.
- ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ½ΠΎΠ²Π° ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 'loop_ctr', ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΈΠΊΠ»Π° For Π² VBA
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΈΠΊΠ»Π° For Π² VBA.
ΠΡΠΈΠΌΠ΅Ρ 1: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ VBA For Loop Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 10 Π² Excel.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Β«A1: A10Β», ΠΈ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΎΡ 1 Π΄ΠΎ 10.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub ForLoopPrintNumbers ()
Dim loop_ctr As Integer
For loop_ctr = 1 To 10
ActiveSheet.Range ("A1"). Offset (loop_ctr - 1, 0) .Value = loop_ctr
ΠΠ°Π»Π΅Π΅ loop_ctr
MsgBox "ΠΠ»Ρ ΡΠΈΠΊΠ»Π° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ!"
End Sub
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π° loop_ctr Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° For. ΠΠ°ΡΠ΅ΠΌ, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ For, ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ loop_ctr ΡΠ°Π²Π½ΡΠΌ 1 ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ end_num ΡΠ°Π²Π½ΡΠΌ 10.
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° For ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ loop_ctr Π½Π° Π»ΠΈΡΡΠ΅ Excel Π² ΡΡΠΎΠ»Π±Π΅Ρ A. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ΄Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΉ loop_ctr Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΠ²Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'step_increment', ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ 'loop_ctr' Π±ΡΠ΄Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π½Π° 1. Π¦ΠΈΠΊΠ» For Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ 10 ΡΠ°Π· ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ A1: A10 Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΎΡ 1-10 ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ.
ΠΡΠΈΠΌΠ΅Ρ 2: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΊΠ» For Π² VBA, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 10.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π±Π΅ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 ΠΈ ΠΏΡΠΎΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌ ΠΈΡ . ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΡΠΌΠΌΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 10.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub ForLoopSumNumbers ()
Dim loop_ctr As Integer
Dim result As Integer
result = 0
For loop_ctr = 1 To 10
result = result + loop_ctr
Next loop_ctr
MsgBox Β«Π‘ΡΠΌΠΌΠ° ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 10 ΡΠ°Π²Π½Π°:Β» & result
End Sub
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π° 'loop_ctr' Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° For.ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΊ Β«ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΒ» Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 10.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ For, ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ Β«loop_ctrΒ» ΡΠ°Π²Π½ΡΠΌ 1 ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Β«end_numΒ» ΠΊΠ°ΠΊ 10.
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° For ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ loop_ctr Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ: 1, Π° Π½Π° Π²ΡΠΎΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ: (1 + 2) = 3. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π° ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ: (3 + 3) = 6 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° For Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΠ²Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'step_increment', ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ 'loop_ctr' Π±ΡΠ΄Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π½Π° 1.
Π¦ΠΈΠΊΠ» For Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ 10 ΡΠ°Π· ΠΈ ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΠΌΠΌΡ ΡΡΠΈΡ ΡΠΈΡΠ΅Π» Π² msgbox.
ΠΡΠΈΠΌΠ΅Ρ 3: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ VBA For Loop Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΡΠΈΡΠ΅Π», Π²ΡΠ΅Ρ ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 10.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ Π²ΡΠ΅ ΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π² ΡΡΠ΅ΠΉΠΊΠΈ ΠΎΡ A1 Π΄ΠΎ A5.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub ForLoopToPrintEvenNumbers ()
Dim loop_ctr As Integer
Dim cell As Integer
cell = 1For loop_ctr = 1 To 10
If loop_ctr Mod 2 = 0 Then
ActiveSheet .Range ("A1"). Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (ΡΡΠ΅ΠΉΠΊΠ° - 1, 0) .Value = loop_ctr
cell = cell + 1
End If
Next loop_ctrMsgBox "For Loop Completed!"
End Sub
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π° loop_ctr Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° For.ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ cell. ΠΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 1.
ΠΠ°Π»Π΅Π΅, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ For, ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ 'loop_ctr' ΡΠ°Π²Π½ΡΠΌ 1 ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ 'end_num' ΡΠ°Π²Π½ΡΠΌ 10.
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° For ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΠΏΠ΅ΡΠ°ΡΠΎΡ IF Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΠ½ΠΎΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 'loop_ctr'.
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' ΡΠ°Π²Π½ΠΎ Even, ΡΠΎ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΡΠΎΠ»Π±ΡΠ΅ A.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅ΠΉΠΊΠΈ Π½Π° 1.ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΡΠΈΠΊΠ»Π΅, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ΅ΠΉΠΊΠ΅ ΡΡΠΎΠ»Π±ΡΠ° A.
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΉ 'loop_ctr' Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΠ²Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'step_increment', ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ 'loop_ctr' Π±ΡΠ΄Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π½Π° 1.
Π¦ΠΈΠΊΠ» For Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ 10 ΡΠ°Π· ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ A1 : A5 Ρ ΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΎΡ 2 Π΄ΠΎ 10.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°
ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
Sub ForLoopToPrintEvenNumbers ()
Dim loop_ctr As Integer
Dim cell as Integer
cell = 1For loop_ctr = 2 To 10 Step 2
ActiveSheet.Range ("A1"). Offset (cell - 1, 0) .Value = loop_ctr
cell = cell + 1
Next loop_ctrMsgBox Β«ΠΠ»Ρ ΡΠΈΠΊΠ»Π° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ!Β»
End Sub
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΡΠ°Π»ΠΈ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 2 Π΄ΠΎ 10. ΠΠΌΠ΅ΡΡΠΎ Β«step_incrementΒ» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠ°Π²Π½ΠΎΠ³ΠΎ 1, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ²Π½ΠΎΠ΅ Β«step_incrementΒ», ΡΠ°Π²Π½ΠΎΠ΅ 2.
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° for Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' ΡΠ°Π²Π½ΠΎ 2, ΡΡΠΎ ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΡΠ΅ΠΉΠΊΠ΅ A1. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«loop_ctrΒ» ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ 4 (Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: 2 + step_increment: 2), ΠΈ ΡΡΠΎ ΡΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΡΠ΅ΠΉΠΊΠ΅ A2.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π½Π° ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' ΡΠ°Π²Π½ΠΎ 6 (ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: 4 + step_increment: 2), ΠΈ ΠΎΠ½ΠΎ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΡΠ΅ΠΉΠΊΠ΅ A3 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° For
ΠΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» for Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° for; ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»ΠΎΠ² for.
VBA Π¦ΠΈΠΊΠ»Ρ For ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Ρ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ Π² Excel. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΡΠΈΠΌΠ΅Ρ 4: Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π½Π° Π²ΡΠ΅Ρ Π»ΠΈΡΡΠ°Ρ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ Excel Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° For Loop.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π½Π° Π²ΡΠ΅Ρ Π»ΠΈΡΡΠ°Ρ Π² ΠΊΠ½ΠΈΠ³Π΅ Excel.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub ForLoopPrintNumbers ()
Dim loop_ctr As Integer
Dim sheet As IntegerFor sheet = 1 To Worksheets.Count
For loop_ctr = 1 To 10
Worksheets (sheet) .Range ("A1"). Offset (loop_ctr - 1, 0) .Value = loop_ctr
Next loop_ctr
Next sheetMsgBox "ΠΠ»Ρ ΡΠΈΠΊΠ»Π° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ!"
End Sub
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΅ΡΡΡ Π΄Π²Π° ΡΠΈΠΊΠ»Π° For Loops, ΠΎΠ΄ΠΈΠ½ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» For Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«sheetΒ», Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΈΠΊΠ» For Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ loop_ctr, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ.
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΈΠΊΠ»Π° For Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π»ΠΈΡΡΠ΅ (ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΡΠΈΠΊΠ»Ρ).
ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π»ΠΈΡΡΡ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΠΎΡ A1 Π΄ΠΎ A10 Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π½Π° Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π»ΠΈΡΡΠ°Ρ .
ΠΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» For Π² VBA
ΠΠΎ Π²ΡΠ΅Ρ Π½Π°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠΈΠΊΠ»Ρ For, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΈΠΊΠ»Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ).
ΠΠΎ Π² ΡΡΠΎΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Ρ Π²Π°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΈΠΊΠ» For, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ).
ΠΡΠΈΠΌΠ΅Ρ 5: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» For Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 10 Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΡΠ²Π°Π½ΠΈΡ.
Sub ReverseForLoop ()
Dim loop_ctr As Integer
Dim cell As Integer
cell = 1For loop_ctr = 10 To 1 Step -1
ActiveSheet.Range ("A1"). Offset (cell - 1, 0). ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ = loop_ctr
cell = cell + 1
Next loop_ctrMsgBox Β«ΠΠ»Ρ ΡΠΈΠΊΠ»Π° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ!Β»
End Sub
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΈΠΊΠ» Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 'loop_ctr' ΠΊΠ°ΠΊ 10.Π Π·Π°ΡΠ΅ΠΌ, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΈΠΊΠ»Π° ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π½Π° 1 (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Β«step_incrementΒ» ΡΠ°Π²Π΅Π½ -1).
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° For ΠΌΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΈΠΊΠ»Π° Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ Π»ΠΈΡΡΠ΅ ΠΈΠ· A1: A10.
ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»Π° For
ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ. ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» - ΡΡΠΎ ΡΠΈΠΊΠ», ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ (ΡΠ°ΡΡΠΎ ΠΈΠ·-Π·Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°) Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ. Π¦ΠΈΠΊΠ» ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π· ΠΈΠ»ΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° / ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π₯ΠΎΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ»Π° FOR, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΠ·-Π·Π° ΡΠ΅ΡΠΊΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π½Π°ΡΠ°Π»Π° ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π½Π΅Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» ΠΏΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅ ΡΠ±ΡΠΎΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΈΠΊΠ»Π° Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠ΄Π΅Π»Π°Π² ΡΠΈΠΊΠ» Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° for:
'ΠΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄
Sub InfiniteForLoop ()
Dim loop_ctr As Integer
Dim cell As IntegerFor loop_ctr = 1 To 10
ActiveSheet.ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (loop_ctr - 1, 0) .Value = loop_ctr
loop_ctr = loop_ctr - 1
Next loop_ctrMsgBox "For Loop Completed!"
End Sub
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ 'loop_ctr = loop_ctr - 1' Π΄Π΅Π»Π°Π΅Ρ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΡΠΈΠΊΠ» VBA Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ loop_ctr ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ.
Π‘ΠΎΠ²Π΅Ρ: ΠΡΠ΅Π³Π΄Π° Ρ ΠΎΡΠΎΡΠΎ Π½Π΅ Π²Π½ΠΎΡΠΈΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΈΠΊΠ»Π° Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π°.
ΠΠ°ΠΊ ΠΏΡΠ΅ΡΠ²Π°ΡΡ ΡΠΈΠΊΠ» For ΠΈΠ»ΠΈ Π²ΡΠΉΡΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ
Π― Π΄ΡΠΌΠ°Ρ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π²Π°Ρ Π·Π°Π΄Π°Π΄ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ: Β«ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΡΡΠ²Π°ΡΡ ΡΠΈΠΊΠ» Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡΒ»? ΠΡΠ²Π΅Ρ ΠΏΡΠΎΡΡ: ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΡΠ΅ΡΡΡΡΡ.
Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΡΠ²Π°ΡΡ ΡΠΈΠΊΠ» For, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ βExit Forβ .
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΡΠΈΠΌΠ΅Ρ 6: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΊΠ» FOR Π² VBA, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠΌΠΌΡ ΠΏΠ΅ΡΠ²ΡΡ 20 Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 100.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠ΅ 20 Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 100 ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅ ΠΈΡ ΡΡΠΌΠΌΡ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
Sub SumFirst20OddNumbers ()
Dim loop_ctr As Integer
Dim odd_number_counter As Integer
Dim sum As IntegerFor loop_ctr = 1 To 100
If (loop_ctr Mod 2 <> 0) Then
sum = sum + loop_ctr
odd_number_counter = odd_number_counter + 1
End IfIf (odd_number_counter = 20) Then
Exit For
End If
Next loop_ctrMsgBox "Π‘ΡΠΌΠΌΠ° Π²Π΅ΡΡ Π½ΠΈΡ 20 ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΡΠ±-9000 ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΡΠ°Π²Π½Π°:"
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ - loop_ctr, odd_number_counter ΠΈ sum.ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ loop_ctr ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π°, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ odd_number_counter ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ 20 Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π»), Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ sum ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΌΠΌΡ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ 20 Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π».
ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 100, ΠΎΠ΄Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ (step_increment ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π΅Π½ 1), ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ Π»ΠΈ ΡΠΈΡΠ»ΠΎ. ΠΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅, ΠΌΡ ΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Β«odd_number_counterΒ» Π½Π° 1.
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° IF Π΄ΡΡΠ³ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ IF ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ°Π²Π½ΠΎ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«odd_number_counterΒ» 20.ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ odd_number_counter ΡΠ°Π²Π½ΠΎ 20, ΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Exit For ΠΌΡ Π²ΡΡ ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΡΠΈΠΊΠ»Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠΈΠΊΠ» Π΄Π°Π»ΡΡΠ΅.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² VBA For Loop
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ For Loop:
ΠΡΠΈΠΌΠ΅Ρ 7: ΠΡΠ΄Π΅Π»ΠΈΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ VBA For Loop.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅.ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub HighlightAlternateRows ()
Dim loop_ctr As Integer
Dim Max As Integer
Dim clm As Integer
Max = ActiveSheet.UsedRange.Rows.Count
clm = ActiveSheet.UsedRange.Columns. CountFor loop_ctr = 1 To Max
If loop_ctr Mod 2 = 0 Then
ActiveSheet.Range (Cells (loop_ctr, 1), Cells (loop_ctr, clm)). Interior.ColorIndex = 28
End If
Next loop_ctrMsgBox "ΠΠ»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°!"
End SubΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΡΠΈΠΊΠ» Ρ 1 Π΄ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ Π½Π° Π½Π°ΡΠ΅ΠΌ Π»ΠΈΡΡΠ΅.ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΡΠΎΠΊΠΈ Ρ ΡΠ΅ΡΠ½ΡΠΌΠΈ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ 8: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ VBA For Loop ΠΠ°ΡΠΈΡΠ° Π²ΡΠ΅Ρ Π»ΠΈΡΡΠΎΠ² Π² ΠΊΠ½ΠΈΠ³Π΅.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΎΡ VBA, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈ Π·Π°ΡΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
Sub ProtectWorksheets ()
Dim loop_ctr As Integer
For loop_ctr = 1 To ActiveWorkbook.Worksheets.Count
Worksheets (loop_ctr).ΠΠ°ΡΠΈΡΠΈΡΡ
Next loop_ctr
End SubExplanation:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΈΠΊΠ» for VBA ΠΈ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ Π»ΠΈΡΡΡ Π² ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° For ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ°.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ½ΡΡΠΈΡ Π·Π°ΡΠΈΡΡ Ρ Π»ΠΈΡΡΠΎΠ². ΠΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Β«Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ (loop_ctr) .ProtectΒ» Π½Π° Β«Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ (loop_ctr) .UnProtectΒ».
ΠΡΠΈΠΌΠ΅Ρ 9: Π¦ΠΈΠΊΠ» ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠΈΡΠ΅Π» ΠΈ ΠΏΠΎΠΈΡΠΊ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π° ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π», ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» FOR, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ Π½Π°ΠΉΡΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»Π° ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
Sub ForLoopWithArrays ()
Dim arr () As Variant
arr = Array (10, 12, 8, 19, 21, 5, 16)Dim min_number As Integer
Dim max_number As Integermin_number = arr (0)
max_number = arr (0)Dim loop_ctr As Integer
For loop_ctr = LBound (arr) To UBound (arr)
If arr (loop_ctr)> max_number Then
max_number = arr)
End IfIf arr (loop_ctr)
min_number = arr (loop_ctr)
End IfNext loop_ctr
MsgBox "ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ:" & max_number _
& "ΠΠ°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ:" & min End_number6ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π», ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ arr.Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΌΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, min_number ΠΈ max_number, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ΅Π» ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ min_number ΠΈ max_number ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ°ΡΠ΅ΠΌ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° For ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ -
ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ max_number, ΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ max_number ΡΠ°Π²Π½ΡΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠΈΡΠ»Ρ. Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ: Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ min_number, ΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ min_number ΡΠ°Π²Π½ΡΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠΈΡΠ»Ρ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ ΡΠΈΡΠ»Π° Π²Π½ΡΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ msgbox.
VBA For Each Loop
For each - ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΈΠΏ ΡΠΈΠΊΠ»Π° For Loop. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΠ΄Π΅ΡΡ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΡΠ΅ΡΡΠΈΠΊΠ΅ ΡΠΈΠΊΠ»Π°, Π²Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° - ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π° ΡΠ°ΠΌ ΡΠΈΠΊΠ» ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ VBA For Each Loop
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ For Each Loop ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° For Loop.ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π collection_of_items
'ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΠ΄Π΅ΡΡ' collection_of_items 'ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π³ΡΡΠΏΠΏΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΎΠ½ Π²ΡΠ΄Π°ΡΡ Β«ΠΎΡΠΈΠ±ΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ 438Β».
Β«itemΒ» ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²Π½ΡΡΡΠΈ Β«collection_of_itemsΒ». Π Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Β«itemΒ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ· Β«collection_of_itemsΒ».
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» For Each
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΈΠΊΠ» For Each ΠΊΠ°ΠΊ:
For Each cl Π² ActiveSheet.Range ("A1: A10")
'ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
Next cl
- ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°' For Each cl In ActiveSheet.Range ("A1: A10") ', ΠΎΠ½ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ collection, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ cl ΠΏΠ΅ΡΠ²ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ ΡΡΠ΅ΠΉΠΊΠΎΠΉ $ A $ 1.
- ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°.
- ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π²ΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈ Π²ΡΠ³ΡΡΠΆΠ°Π΅Ρ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ cl. Π ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Ρ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π² VBA
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΠΉ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ΅:
- ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ FOR EACH ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ, Π΅ΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
- ΠΡΠ»ΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Β«itemΒ» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Β«ΠΠ»ΠΎΠΊ ΠΊΠΎΠ΄Π°Β». ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ FALSE, ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½Π΅ ΡΠΈΠΊΠ»Π° For Each.
- ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Β«ΠΊΠΎΠ΄ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊΒ» Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° For Each, ΡΠΈΠΊΠ» Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ 'item' ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΈ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² VBA Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΎΡΡΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ ΡΠΈΠΊΠ»Π° For Each.
ΠΡΠΈΠΌΠ΅Ρ 1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ VBA Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ Π²ΡΠ΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ Π»ΠΈΡΡΠΎΠ².
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» For Each Π΄Π»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠΈΠΌ Π»ΠΈΡΡΠ°ΠΌ Π² ActiveWorkbook ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ Π²ΡΠ΅Ρ Π»ΠΈΡΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»Ρ msg.
Sub ForEachDisplaySheetNames ()
Dim sheetNames As String
For each sht In ActiveWorkbook.Sheets
sheetNames = sheetNames & vbNewLine & sht.Name
Next shtMsgBox Β«ΠΠΌΠ΅Π½Π° Π»ΠΈΡΡΠΎΠ²:" & vbNames
1957 & sheetExplanation:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΈΠΊΠ» For Each Π±Π΅ΡΠ΅Ρ Π½Π°Π±ΠΎΡ Π»ΠΈΡΡΠΎΠ² ΠΈΠ· ActiveWorkbook.Sheets, Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π»ΠΈΡΡΠΎΠ² ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ sht ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ Π»ΠΈΡΡΠ°.
ΠΠ½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° For Each ΠΈΠΌΡ Π»ΠΈΡΡΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ ΡΡΡΠΎΠΊΠ΅, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π²Π½Π΅ ΡΠΈΠΊΠ»Π° Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π»ΠΈΡΡΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ 2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ VBA Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π΄Π»Ρ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° VBA For Each ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π» ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
Sub ForEachSumArrayElements ()
Dim arr As Variant
Dim sum as Integer
arr = Array (1, 10, 15, 17, 19, 21, 23, 27)Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² arr
sum = sum + element
Next elementMsgBox "The Sum is:" & sum
End SubExplanation:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, 'arr' ΠΈ 'sum '.ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ arr ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΈΡΠ΅Π», Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ sum ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° For Each ΠΌΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ, ΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌ ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΈΡΠΎΠ³ΠΎΠ²ΡΡ ΡΡΠΌΠΌΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ sum.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Π½Π΅ ΡΠΈΠΊΠ»Π° For Each ΠΌΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΊΠ½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ 3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ VBA Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ Π²ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΊΠ½ΠΈΠ³.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» For Each, ΠΌΡ ΠΏΠ΅ΡΠ΅Π±Π΅ΡΠ΅ΠΌ Π²ΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΠΌ ΠΈΡ ΠΈΠΌΠ΅Π½Π° Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
Sub ForEachDisplayWorkbookNames ()
Π’ΡΡΠΊΠ»ΡΠ΅ ΠΈΠΌΠ΅Π½Π° workBookNames ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠ°ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΊΠ½ΠΈΠ³Π°Ρ
are & vbNewLine & workBookNames
workBookNames = workBookNames & vbNewLine & wrkbook.Name
Next wrkbook
End SubExplanation:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΈΠΊΠ» For Each Π±Π΅ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΊΠ½ΠΈΠ³, Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΊΠ½ΠΈΠ³ ΠΎΠ΄Π½Ρ Π·Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ wrkbook ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ½ΠΈΠ³ΠΈ.
ΠΠ½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° For Each ΠΈΠΌΡ ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ ΡΡΡΠΎΠΊΠ΅, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π²Π½Π΅ ΡΠΈΠΊΠ»Π° Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠ½ΠΈΠ³ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ VBA Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°
ΠΠ²Π° ΡΠΈΠΊΠ»Π° For Each ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Ρ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ For Each Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΡΠΈΠΌΠ΅Ρ 4: ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ Π²ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ½ΠΈΠ³ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΈΠΌ Π»ΠΈΡΡΠ°ΠΌΠΈ.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΊΠ½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
Sub ForEachLoopNesting ()
Π’ΡΡΠΊΠ»ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΡΠ°Π±ΠΎΡΠΈΡ ΠΊΠ½ΠΈΠ³Π°Ρ
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΡΠ°Π±ΠΎΡΠΈΡ ΠΊΠ½ΠΈΠ³Π°Ρ
result = result & vbNewLine & "Workbook:" & wrkbook.Name & "Π Π°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ:" & sht.Name
Next sht
Next wrkbookMsgBox result
End SubExplanation:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π²Π° ΡΠΈΠΊΠ»Π° For Each, ΠΎΠ΄ΠΈΠ½ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» For Each Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠ½ΠΈΠ³Π°ΠΌ, Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΈΠΊΠ» For Each Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ Π»ΠΈΡΡΠ°ΠΌ.
ΠΠ½ΡΡΡΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° For Each ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π° ΠΊΠ½ΠΈΠ³ ΠΈ ΡΠ°Π±ΠΎΡΠΈΡ Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΒ».
ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΒ» Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΒ» ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠΊΠ½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΊ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° For Each ΠΈΠ»ΠΈ Π²ΡΠΉΡΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ
Π§ΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° For Each, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Exit For. ΠΡΠ°ΠΊ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«Exit ForΒ» ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΈΠΊΠ» For, ΡΠ°ΠΊ ΠΈ ΡΠΈΠΊΠ» For Each.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΡΠΈΠΌΠ΅Ρ 5: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ VBA Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ²ΡΡ 3 Π»ΠΈΡΡΠΎΠ² Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ Π»ΠΈΡΡΠ°ΠΌ Π²Π½ΡΡΡΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ 3 ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°Π±ΠΎΡΠΈΡ Π»ΠΈΡΡΠΎΠ². ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
Sub ForEachDisplayFirstThreeSheetNames ()
Dim sheetNames As String
Dim sheetCounter As IntegerFor Each sht In ActiveWorkbook.Sheets
sheetNames = sheetNames & vbNewLine & sht.ΠΠΌΡ
sheetCounter = sheetCounter + 1ΠΡΠ»ΠΈ sheetCounter> = 3, ΡΠΎ
Exit For
End If
Next shtMsgBox "ΠΠΌΠ΅Π½Π° Π»ΠΈΡΡΠΎΠ²:" & vbNewLine & sheetNames
End Sub
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅: Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΈΠΊΠ» For Each, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ Π»ΠΈΡΡΠ°ΠΌ Π²Π½ΡΡΡΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π° Π»ΠΈΡΡΠΎΠ² Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ sheetNames. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ sheetCounter, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π΄ΠΎΡΡΠΈΠ³Π»ΠΎ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ sheetCounter 3 (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ 3 ΠΈΠΌΠ΅Π½ΠΈ Π»ΠΈΡΡΠ°).
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ sheetCounter Π΄ΠΎΡΡΠΈΠ³Π»ΠΎ 3, ΠΌΡ Π²ΡΡ ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΡΠΈΠΊΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Exit For. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ sheetNames Ρ ΠΏΠΎΠΌΠΎΡΡΡ msgbox.
Π¦ΠΈΠΊΠ» Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡΒ» VBA
Π¦ΠΈΠΊΠ» Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΊΠ°Β» VBA - ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ ΡΠΈΠΊΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ.Π¦ΠΈΠΊΠ» Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° Do while Π² VBA
Π¦ΠΈΠΊΠ» Do while ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π² VBA, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 1:
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Do While
'ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
LoopΠΠ»ΠΈ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 2:
Do
'ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
Loop While conditionΠ ΠΎΠ±ΠΎΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°Ρ Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΈΠΊΠ»Π°.ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«ΠΠΎΠΊΠ°Β» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈ Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΊΠ°ΠΊ Β«ΠΡΡΠΈΠ½Π°Β» ΠΈΠ»ΠΈ Β«ΠΠΎΠΆΡΒ». ΠΡΠ»ΠΈ Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΈΡΡΠΈΠ½Π½ΠΎ, ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ; Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°ΠΌΠΈ.
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°ΠΌΠΈ Do while
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠΈΠΊΠ»Π° do-while, Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ, ΡΠΈΠΊΠ» do-while Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ 1 Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ.
Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ, ΡΠΈΠΊΠ» do-while Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ 2 Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 1 ΠΈΡΠ΅ΡΠ°ΡΠΈΡ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Π΅Π½ΠΎ, ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΡΠ°ΠΊ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 2 Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΈΡΡΠΈΠ½Π½ΠΎ ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» do-while.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» Do While
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 1-
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΈΠΊΠ» Do While ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Dim loop_ctr as Integer
loop_ctr = 1
Do While loop_ctr <10
' Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
loop_ctr = loop_ctr + 1
Π¦ΠΈΠΊΠ»
- Π ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ loop_ctr ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ 1.
- ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Β«Do While loop_ctr <10Β», ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΌΠ΅Π½ΡΡΠ΅ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«loop_ctrΒ» 10.
- ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«loop_ctrΒ» ΠΌΠ΅Π½ΡΡΠ΅ 10, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, 'loop_ctr' ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 1.
- ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΈΠΊΠ»Ρ Β«Do While loop_ctr <10Β», ΠΈ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 'loop_ctr' ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π²Π½ΡΠΌ 10.
- ΠΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π²Π½ΡΠΌ 10, ΡΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ do while Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° do-while.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 2 -
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΈΠΊΠ» Do While ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Dim loop_ctr as Integer
loop_ctr = 1
Do
'ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
loop_ctr = loop_ctr + 1
Loop While loop_ctr <10
- Π ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ 'loop_ctr' ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ 1.
- ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° "Do", ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 1), ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΈΠΊΠ» ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ 'loop_ctr' Π½Π° 1.
- ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΌΠ΅Π½ΡΡΠ΅ Π»ΠΈ 'loop_ctr' 10. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' ΠΌΠ΅Π½ΡΡΠ΅ 10, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ.
- ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π²Π½ΡΠΌ 10, ΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ do while Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° do-while.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠΈΠΊΠ» Do-While Loop Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΈΠΊΠ»Π°.
ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΡΠΈΠΊΠ»Π° Do While Π² VBA:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΠΉ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ΅:
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 1 -
- Π ΡΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Do-While ΡΠΈΠΊΠ» Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Do.
- ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Β«Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°Β» Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° do-while, ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π°, Π° Β«Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°Β» Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° do-while Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅.
- ΠΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ, Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΠ»Π°, ΠΈ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½Π΅ ΡΠΈΠΊΠ»Π° Do While.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 2 -
- Π ΡΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Do-While ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Do.
- Π’Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° do-while.
- ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π°, ΠΈ Β«Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°Β» Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° do-while Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅.
- ΠΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ, Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΠ»Π°, ΠΈ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½Π΅ ΡΠΈΠΊΠ»Π° Do While.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΈΠΊΠ»Π° Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡΒ» Π² VBA
ΠΡΠΈΠΌΠ΅Ρ 1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡΒ» Π² VBA Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 10 Π² Excel.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Β«A1: A10Β», ΠΈ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΎΡ 1 Π΄ΠΎ 10. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub DoWhileLoopPrintNumbers ()
Dim loop_ctr As Integer
loop_ctr = 1Do While loop_ctr <= 10
ActiveSheet.ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (loop_ctr - 1, 0) .Value = loop_ctr
loop_ctr = loop_ctr + 1
LoopMsgBox ("Loop Ends")
End Sub
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅:
In the Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ loop_ctr Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° Do While. ΠΠ°ΡΠ΅ΠΌ, Π½Π°ΡΡΠ΄Ρ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Do while, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 10.
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Do While ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ 'loop_ctr 'Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π»ΠΈΡΡΠ΅ Excel Π² ΡΡΠΎΠ»Π±ΡΠ΅ A.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ΄Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΉ Β«loop_ctrΒ» Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ 2: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΊΠ» Do While Π² VBA, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 20.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π±Π΅ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 20 ΠΈ ΠΏΡΠΎΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌ ΠΈΡ . ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΡΠΌΠΌΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 20.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub WhileLoopSumNumbers ()
Dim loop_ctr As Integer
Dim result As Integer
loop_ctr = 1
result = 0Do While loop_ctr <= 20
result = result + loop_ctr
loop_ctr = loop_ctr + 1
LoopMsgBox "Π‘ΡΠΌΠΌΠ° ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 20 ΡΠ°Π²Π½Π°:" & result
End Sub
Explanation:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π° loop_ctr Π΄Π»Ρ Π½Π°Ρ ΡΠΈΠΊΠ» Do While.ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΊ Β«ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΒ» Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 20.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Do while, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«loop_ctrΒ» Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΡΠΌ. ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 20.
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Do While Loop ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ loop_ctr Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π±ΡΠ΄Π΅Ρ: 1, Π° Π½Π° Π²ΡΠΎΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ: (1 + 2) = 3. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π° ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ: (3 + 3 ) = 6 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ΄Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΉ Β«loop_ctrΒ» Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
Π¦ΠΈΠΊΠ» Do While Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ 20 ΡΠ°Π·, ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 20 ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΠΌΠΌΡ ΡΡΠΈΡ ΡΠΈΡΠ΅Π» Π² msgbox.
ΠΡΠΈΠΌΠ΅Ρ 3: ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° Do While Loop (Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ 2) Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ - False.
Sub DoWhileLoopTest ()
Dim loop_ctr As Integer
loop_ctr = 100Do
MsgBox "Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»ΠΎΠ²:" & loop_ctr
loop_ctr = loop_ctr + 1
Loop While loop_ctr <= 100003 92 End Subplanation
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ 'loop_ctr' ΠΊΠ°ΠΊ 100 ΠΈ Π²Π½ΡΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠΈΠΊΠ»Π° ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ 'loop_ctr <10'.ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΈΠΊΠ» ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«loop_ctrΒ» ΠΌΠ΅Π½ΡΡΠ΅ 10. ΠΠΎ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΡΡΠΎΡ ΡΠΈΠΊΠ» do-while Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
ΠΡΠΈΡΠΈΠ½Π° ΡΡΠΎΠ³ΠΎ: ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ 2 ΡΠΈΠΊΠ»Π° Do While Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» DoWhile Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ 1, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ:
Sub DoWhileLoopTest ()
Dim loop_ctr As Integer
loop_ctr = 100Do While loop_ctr <= 10
MsgBox "Loop Counter: "& loop_ctr
loop_ctr = loop_ctr + 1
LoopEnd Sub
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Do While
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠΊΠ»Π°ΠΌ, Π² ΡΠΈΠΊΠ»Π°Ρ Do While ΠΎΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅.ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ Do While, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΡΠΈΠΌΠ΅Ρ 4: Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π½Π° Π²ΡΠ΅Ρ Π»ΠΈΡΡΠ°Ρ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ Excel Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΊΠ°Β».
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π½Π° Π²ΡΠ΅Ρ Π»ΠΈΡΡΠ°Ρ Π² ΠΊΠ½ΠΈΠ³Π΅ Excel, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» do-while. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub NestedDoWhileLoop ()
Dim loop_ctr As Integer
Dim sheet As Integer
sheet = 1Do While sheet <= Worksheets.Count
loop_ctr = 1
Do While loop_ctr <= 10
Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ (Π»ΠΈΡΡ) .Range ("A1"). Offset (loop_ctr - 1, 0). Value = loop_ctr
loop_ctr = loop_ctr + 1
Loop
sheet = sheet + 1
LoopMsgBox Β«ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ», ΠΏΠΎΠΊΠ° ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ΅Π½!Β»
End SubΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΅ΡΡΡ Π΄Π²Π° ΡΠΈΠΊΠ»Π° Do While, ΠΎΠ΄ΠΈΠ½ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» Do While Loop Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«Π»ΠΈΡΡΒ» ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«Π»ΠΈΡΡΒ» Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Β«Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ.Count '(ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΈΡΡΠΎΠ² Π² ΠΊΠ½ΠΈΠ³Π΅).
ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΈΠΊΠ» Do While Loop Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ loop_ctr ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ loop_ctr Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 10. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΌ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΠ»Π° Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΈΠΊΠ»Π° Do While Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π»ΠΈΡΡΠ΅ (ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΡΠΈΠΊΠ»Ρ).
ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π»ΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠΈΡ Π»ΠΈΡΡΠΎΠ² Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ°.
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π½Π° Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π»ΠΈΡΡΠ°Ρ .
ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»Π° Do While
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΈΠΊΠ»Π° For, ΡΠΈΠΊΠ» Do While Loop Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠΊΠΈΡ Β«startΒ», Β«endΒ» ΠΈΠ»ΠΈ Β«step_incrementsΒ», ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠΏΡΡΡΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΊ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΠΈΠ»ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ». ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Do While:
'ΠΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄
Sub InfiniteDoWhileLoop ()
Dim loop_ctr As Integer
loop_ctr = 1Do While loop_ctr <= 10
ActiveSheet.ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (loop_ctr - 1, 0) .Value = loop_ctr
LoopMsgBox ("Loop Ends")
End SubΠ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π°, ΡΠΎ Π΅ΡΡΡ 'loop_ctr = loop_ctr + 1', ΠΈ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΎ ΡΠΈΠΊΠ» Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ 1 (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ) ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° 'While loop_ctr <= 10' Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΊ ΠΈΡΡΠΈΠ½Π΅.
ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: ΠΡΠ΅Π³Π΄Π° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» For Each ΠΈΠ»ΠΈ For Next Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΊΠ»Π° Do While ΠΈΠ»ΠΈ Do until (ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ).
ΠΠ°ΠΊ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° Do While ΠΈΠ»ΠΈ Π²ΡΠΉΡΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ
Π§ΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° Do While, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Exit Do. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ VBA Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«Exit DoΒ» , ΠΎΠ½ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° Do while.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΡΠΈΠΌΠ΅Ρ 5: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΊΠ» Do While Π² VBA, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠΌΠΌΡ ΠΏΠ΅ΡΠ²ΡΡ 15 Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 100.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΠΉΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ 15 Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 100, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΈΡ ΡΡΠΌΠΌΡ.ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
Sub SumFirst15OddNumbers ()
Dim loop_ctr As Integer
Dim odd_number_counter As Integer
Dim sum As Integerloop_ctr = 1
Do While loop_ctr <= 100
If (loop_ctr ) Π’ΠΎΠ³Π΄Π°
sum = sum + loop_ctr
odd_number_counter = odd_number_counter + 1
End IfIf (odd_number_counter = 15) Then
Exit Do
End Ifloop_ctr = loop_ctr Sum + 1
Loop2 ΡΠΈΡΠ»Π°: "& sum
End SubΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
" Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ - 'loop_ctr', 'odd_number_counter' ΠΈ 'sum'.loop_ctr - ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΈΠΊΠ»Π°, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ odd_number_counter ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊ Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π», ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½Ρ, Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ sum ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΌΠΌΡ ΠΏΠ΅ΡΠ²ΡΡ 15 Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π».
ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Do While ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 100, ΠΎΠ΄Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ, ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ Π»ΠΈ ΡΠΈΡΠ»ΠΎ. ΠΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅, ΠΌΡ ΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Β«odd_number_counterΒ» Π½Π° 1.
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° IF Π΄ΡΡΠ³ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ IF ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ°Π²Π½ΠΎ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«odd_number_counterΒ» 15.ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ odd_number_counter ΡΠ°Π²Π½ΠΎ 15, ΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Exit Do ΠΌΡ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΠΌ ΡΠΈΠΊΠ», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠΈΠΊΠ» Π΄Π°Π»ΡΡΠ΅.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ 'sum' Ρ ΠΏΠΎΠΌΠΎΡΡΡ msgbox.
VBA Π¦ΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ°Β»
Π¦ΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ» ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΈΠΊΠ» Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΊΠ°Β»; Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ -
- Π¦ΠΈΠΊΠ» do-while ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
- Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠΈΠΊΠ» Β«do-untilΒ» ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ Π±ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ:
ΠΠ»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°: Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΈΠΊΠ» Do Loop Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΎΡ 1 Π΄ΠΎ 10, Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ while, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ 'Do While loop_ctr <= 10' ΠΈ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ until, ΡΠΎ ΠΆΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊ Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° loop_ctr> 10Β».
Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ:
- ΠΠΎ - ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΠΎ ΡΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π΅ΡΡΡΠΈ
- ΠΠΎΠΊΠ° - ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΠΎΠΊΠ° ΡΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π΅Π½ Π΄Π΅ΡΡΡΠΈ
ΠΠ· ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΠΎΠΊΠ° ΠΈ ΠΠΎΠΊΠ° - ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Do until Loop.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° Do Π΄ΠΎ ΡΠΈΠΊΠ»Π° Π² VBA
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠΈΠΊΠ»Ρ Do While, ΠΌΠ΅ΡΠΎΠ΄ Do until ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°:
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 1 -
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Do Π΄ΠΎ
'ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
Loop
ΠΠ»ΠΈ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 2 -
Do
'ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
Π¦ΠΈΠΊΠ» Π΄ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
ΠΠ΄Π΅ΡΡ Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π° ΡΠΈΠΊΠ»Π°, ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ»Π° Do While Loop.ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«ΠΠΎΠΊΠ°Β» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈ Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΊΠ°ΠΊ Β«ΠΡΡΠΈΠ½Π°Β» ΠΈΠ»ΠΈ Β«ΠΠΎΠΆΡΒ». ΠΡΠ»ΠΈ Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΡΠ°Π²Π½ΠΎ False, ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ» Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°ΠΌΠΈ.
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°ΠΌΠΈ Do until
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠΈΠΊΠ»Π° do until, Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ, ΡΠΈΠΊΠ» do-until Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ 1 Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ.
Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ, ΡΠΈΠΊΠ» do-until Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ 2 Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 1 ΠΈΡΠ΅ΡΠ°ΡΠΈΡ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Π΅Π½ΠΎ, ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΡΠ°ΠΊ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 2 Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΈΡΡΠΈΠ½Π½ΠΎ ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ»
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 1 -
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ», ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
Dim loop_ctr As Integer
loop_ctr = 1
Do until loop_ctr> 10
'ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
loop_ctr = loop_ctr + 1
Π¦ΠΈΠΊΠ»
- Π ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ loop_ctr ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ 1.
- ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Β«Do until loop_ctr> 10Β», ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«loop_ctrΒ» 10.
- ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«loop_ctrΒ» ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 10, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, 'loop_ctr' ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 1.
- ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° loop_ctr> 10Β», ΠΈ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ of 'loop_ctr' ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 10.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 2 -
Dim loop_ctr As Integer
loop_ctr = 1
Do
'ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°
loop_ctr = loop_ctr + 1
Loop until loop_ctr> 10
- Π ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ , ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ 'loop_ctr' ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ 1.
- ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Do, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Do Π½Π΅ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
- ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ loop_ctr ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 1.
- ΠΠ°ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«Π¦ΠΈΠΊΠ» Π΄ΠΎ loop_ctr> 10Β» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«loop_ctrΒ» 10 ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 10, ΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Do, Π½ΠΎ Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' Π±ΠΎΠ»ΡΡΠ΅ 10, ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 2 ΡΠΈΠΊΠ»Π° Do until Loop Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΈΠΊΠ»Π°.
ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΡΠΈΠΊΠ»Π° Do-until Π² VBA
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΠΉ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ΅:
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 1 -
- Π ΡΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Do-until ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Do.
- ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Β«Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°Β» Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° do-until, ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π°, ΠΈ Β«Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°Β» Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° do-until Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΠΎΠ΅.
- ΠΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ, ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΠ»Π° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΈ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½Π΅ ΡΠΈΠΊΠ»Π° Do until.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 2 -
- Π ΡΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Do-until ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° - Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Do.
- Π’Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° do-until Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½.
- ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π°, ΠΈ Β«Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°Β» Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° do-until Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΠΎΠ΅.
- ΠΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ, ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΠ»Π° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΈ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½Π΅ ΡΠΈΠΊΠ»Π° Do until.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΈΠΊΠ»Π° Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ°Β» Π² VBA
ΠΡΠΈΠΌΠ΅Ρ 1. Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 Π² Excel Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄ΠΎΒ» Π² VBA.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Β«A1: A10Β», ΠΈ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΎΡ 1 Π΄ΠΎ 10. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub DoUntilLoopPrintNumbers ()
Dim loop_ctr As Integer
loop_ctr = 1Do until loop_ctr <10
ActiveSheet.ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (loop_ctr - 1, 0) .Value = loop_ctr
loop_ctr = loop_ctr + 1
LoopMsgBox ("Loop Ends")
End Sub
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅:
In the ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄, ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ loop_ctr Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° Do until. ΠΠ°ΡΠ΅ΠΌ, Π½Π°ΡΡΠ΄Ρ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Do until, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ loop_ctr Π½Π΅ ΡΡΠ°Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ 10.
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Do till ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ loop_ctr Π² Excel Π² ΡΡΠΎΠ»Π±ΡΠ΅ A.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ΄Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΉ Β«loop_ctrΒ» Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ loop_ctr ΡΡΠ°Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ 10, ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠΈΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ 2: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΊΠ» Do Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ Π² VBA, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 20.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» do until, ΠΌΡ ΠΏΠ΅ΡΠ΅Π±Π΅ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 20 ΠΈ ΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌ ΠΈΡ . ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΡΠΌΠΌΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 20.ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub DoUntilLoopSumNumbers ()
Dim loop_ctr As Integer
Dim result As Integer
loop_ctr = 1
result = 0Do until loop_ctr> 20
result = result + loop_ctr
loop_rctr = loop_ctr = loop_ctr + 1
LoopMsgBox "Π‘ΡΠΌΠΌΠ° ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 20 ΡΠ°Π²Π½Π°:" & result
End Sub
Explanation:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π° 'loop_ctr' Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄ΠΎ ΠΏΠ΅ΡΠ»Ρ.ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΊ Β«ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΒ» Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 20.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π½Π°ΡΡΠ΄Ρ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ», Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Β«loop_ctrΒ» Π½Π΅ ΡΡΠ°Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅. ΡΠ΅ΠΌ 20.
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Do until Loop ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ loop_ctr Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π±ΡΠ΄Π΅Ρ: 1, Π° Π½Π° Π²ΡΠΎΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ: (1 + 2) = 3; Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π½Π° ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ: (3 + 3) = 6 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ΄Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΉ Β«loop_ctrΒ» Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
Π¦ΠΈΠΊΠ» Do until Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ 20 ΡΠ°Π·, ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 20 ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΠΌΠΌΡ ΡΡΠΈΡ ΡΠΈΡΠ΅Π» Π² msgbox.
ΠΡΠΈΠΌΠ΅Ρ 3: ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ°Β» (Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ 2) Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ.
Sub DoUntilLoopTest ()
Dim loop_ctr As Integer
loop_ctr = 100Do
MsgBox Β«Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»ΠΎΠ²:Β» & loop_ctr
loop_ctr = loop_ctr + 1
Π¦ΠΈΠΊΠ» Π΄ΠΎ loop_ctr> 10 91
End SubΠ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ 'loop_ctr' ΠΊΠ°ΠΊ 100 ΠΈ Π²Π½ΡΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠΈΠΊΠ»Π° ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ 'loop_ctr> 10'.ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΈΠΊΠ» ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«loop_ctrΒ» ΠΌΠ΅Π½ΡΡΠ΅ 10. ΠΠΎ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΡΡΠΎΡ ΡΠΈΠΊΠ» do-until Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
ΠΡΠΈΡΠΈΠ½Π° ΡΡΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ: ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ 2 ΡΠΈΠΊΠ»Π° Do until, Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π°. Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» Do until Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ 1, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ:
Sub DoUntilLoopTest ()
Dim loop_ctr As Integer
loop_ctr = 100Do until loop_ctr> 10
MsgBox "Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»ΠΎΠ² : "& loop_ctr
loop_ctr = loop_ctr + 1
Loop
End SubΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Do Π΄ΠΎ Loop
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠΊΠ»Π°ΠΌ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠΈΠΊΠ»Π΅ Do Until Loop.ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ»:
ΠΡΠΈΠΌΠ΅Ρ 4: Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 5 Π½Π° Π²ΡΠ΅Ρ Π»ΠΈΡΡΠ°Ρ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ Excel, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ».
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 5 Π½Π° Π²ΡΠ΅Ρ Π»ΠΈΡΡΠ°Ρ Π² ΠΊΠ½ΠΈΠ³Π΅ Excel, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» do until. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub NestedDoUntilLoop ()
Dim loop_ctr As Integer
Dim sheet As Integer
sheet = 1Do until sheet> Worksheets.Π‘ΡΠ΅ΡΡΠΈΠΊ
loop_ctr = 1
ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° loop_ctr> 5
Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ (Π»ΠΈΡΡ). ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (loop_ctr - 1, 0). Value = loop_ctr
loop_ctr = loop_ctr + 1
Loop
sheet = sheet + 1
LoopMsgBox Β«ΠΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°!Β»
End SubΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΅ΡΡΡ Π΄Π²Π° ΡΠΈΠΊΠ»Π° Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ», ΠΎΠ΄ΠΈΠ½ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«Π»ΠΈΡΡΒ» ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«Π»ΠΈΡΡΒ» Π½Π΅ ΡΡΠ°Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Β«Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ.Count '(ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΈΡΡΠΎΠ² Π² ΠΊΠ½ΠΈΠ³Π΅).
Inner Do until Loop Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ loop_ctr ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ loop_ctr Π½Π΅ ΡΡΠ°Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ 5. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΌ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΠ»Π° Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Inner Do until Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 5 Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π»ΠΈΡΡΠ΅ (ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΡΠΈΠΊΠ»Ρ).
ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 5 Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ°.
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 5 Π½Π° Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π»ΠΈΡΡΠ°Ρ .
ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»Π° Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ°Β»
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΊΠ» Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅ΡΒ» ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΈΠΊΠ»Π° Β«ΠΠ»ΡΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Β«startΒ», Β«endΒ» ΠΈΠ»ΠΈ Β«step_incrementsΒ», ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ. ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΊ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΠΈΠ»ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΡΠΈΠΊΠ»Ρ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ»:
'ΠΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄
Sub InfiniteDoUntilLoop ()
Dim loop_ctr As Integer
loop_ctr = 1Do until loop_ctr> 10
ActiveSheet.ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (loop_ctr - 1, 0) .Value = loop_ctr
LoopMsgBox ("Loop Ends")
End SubΠ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π°, ΡΠΎ Π΅ΡΡΡ 'loop_ctr = loop_ctr + 1', ΠΈ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΎ ΡΠΈΠΊΠ» Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ 1 (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ), ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° 'ΠΠΎΠΊΠ° loop_ctr> 10' Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΡΠΉ.
ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: ΠΡΠ΅Π³Π΄Π° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» For Each ΠΈΠ»ΠΈ For Next Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΊΠ»Π° Do While ΠΈΠ»ΠΈ Do until (ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ).
ΠΠ°ΠΊ ΠΏΡΠ΅ΡΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ»
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠΈΠΊΠ»Ρ Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ», ΠΈΠ· ΡΠΈΠΊΠ»Π° Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ» ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΉΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Exit Do . ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ VBA Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Exit Do, ΠΎΠ½ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° Do until.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΡΠΈΠΌΠ΅Ρ 5: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΊΠ» Do until Π² VBA, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠΌΠΌΡ ΠΏΠ΅ΡΠ²ΡΡ 20 ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 100.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΠΉΡΠΈ ΠΏΠ΅ΡΠ²ΡΠ΅ 20 ΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 100, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΈΡ ΡΡΠΌΠΌΡ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
Sub SumFirst20EvenNumbers ()
Dim loop_ctr As Integer
Dim even_number_counter As Integer
Dim sum As Integerloop_ctr = 1
Do loop_ctr <100
Mod 2 (loop ) Π’ΠΎΠ³Π΄Π°
ΡΡΠΌΠΌΠ° = ΡΡΠΌΠΌΠ° + loop_ctr
even_number_counter = even_number_counter + 1
End IfIf (even_number_counter = 20) Then
Exit Do
End Ifloop_ctr = loop_ctr + 1
Loop 9000g3 Top 9000g3 ΡΠΈΡΠ»Π°: "& sum
End SubΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
" Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ - 'loop_ctr', 'even_number_counter' ΠΈ 'sum'.'loop_ctr' - ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΈΠΊΠ»Π°, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ 'even_number_counter' ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ 20 ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π»), Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ sum ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΌΠΌΡ ΠΏΠ΅ΡΠ²ΡΡ 20 ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π». .
ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Β«ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡΒ» ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 100, ΠΎΠ΄Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ, ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΠ΅ΡΠ½ΠΎΠ΅ Π»ΠΈ ΡΠΈΡΠ»ΠΎ. ΠΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ ΡΠ΅ΡΠ½ΠΎΠ΅, ΠΌΡ ΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ΅ΡΠ½ΡΡ _ΡΠΈΡΠ»ΠΎΠ² Π½Π° 1.
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΠ‘ΠΠ Π΄ΡΡΠ³ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΠ‘ΠΠ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ°Π²Π½ΠΎ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«ΡΠ΅ΡΠ½ΠΎΠ΅_ΡΠΈΡΠ»ΠΎ_ΡΡΠ΅ΡΡΠΈΠΊΒ» 20.ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«even_number_counterΒ» ΡΠ°Π²Π½ΠΎ 20, ΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«Exit DoΒ», ΠΌΡ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΠΌ ΡΠΈΠΊΠ», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΈΠΊΠ» Π΄Π°Π»ΡΡΠ΅.
Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠΈΠΊΠ» Wend Π² VBA (ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ)
Π₯ΠΎΡΡ ΡΠΈΠΊΠ» Wend Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² VBA ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ, Microsoft ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» Do While Loop Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΊΠ»Π° While Wend Loop.
Π₯ΠΎΡΡ ΡΠΈΠΊΠ» Wend Loop Π½Π΅ ΡΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ ΠΈ Π³ΠΈΠ±ΠΎΠΊ, ΠΊΠ°ΠΊ ΡΠΈΠΊΠ» Do While Loop, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ΄Π΅Ρ ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π°.
Π‘ΠΎΠ²Π΅Ρ: ΠΡΠ»ΠΈ Π²Ρ ΠΈΠ·ΡΡΠ°Π΅ΡΠ΅ ΡΠΈΠΊΠ»Ρ Π² VBA, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΡΡ ΡΠ΅ΠΌΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ While Wend, Ρ Π±Ρ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Π²Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ Do while.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° While Wend
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° While Wend Loop Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅
Β«ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°Β»
WendΒ«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΈΠΊΠ»Π°. ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ While ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈ Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΊΠ°ΠΊ Β«ΠΡΡΠΈΠ½Π°Β» ΠΈΠ»ΠΈ Β«ΠΠΎΠΆΡΒ».ΠΡΠ»ΠΈ Β«ΡΡΠ»ΠΎΠ²ΠΈΠ΅Β» ΠΈΡΡΠΈΠ½Π½ΠΎ, ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ; Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ: Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΠΈΠΊΠ» While Wend Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 10.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Sub WhileWendExample ()
Dim loop_ctr As Integer
loop_ctr = 1While loop_ctr <= 10
ActiveSheet.Range ("A1"). Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (loop_ctr - 1, 0) .Value = loop_ctr
loop_ctr = loop_ctr + 1
WendMsgBox "Loop Ends!"
End SubΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΈΠΊΠ»Π° 'loop_ctr' ΠΊΠ°ΠΊ 1.ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ While Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Β«While loop_ctr <= 10Β».
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ loop_ctr Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 10. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ loop_ctr Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ Π»ΠΈΡΡΠ΅ ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π°. ΠΠΎΠ³Π΄Π° Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Wend, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ.
Π¦ΠΈΠΊΠ» Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ 10 ΡΠ°Π·, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'loop_ctr' ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ 11, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ, ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° while when.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "Loop Ends!" ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΡΡΠΎΠ±Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π°.
ΠΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ VBA Π² Excel
ΠΠΎΠ΄ VBA ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Visual Basic. Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Visual Basic Π² Excel, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² Windows, Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ (ALT + F11). ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ MAC, Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ( Opt + F11). ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Visual Basic .
- ΠΠΎΡΠ»Π΅ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Visual Basic. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Β«ΠΡΡΠ°Π²ΠΈΡΡΒ» ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠΎΠ΄ΡΠ»ΡΒ», ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ. ΠΡΠΎ Π²ΡΡΠ°Π²ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.
- Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Ρ Π² ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ.
Π‘ΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ΅
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ F5 Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ΄Π°.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ F9, ΡΡΠΎΠ±Ρ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ F8, ΡΡΠΎΠ±Ρ Β«ΠΏΠ΅ΡΠ΅ΠΉΡΠΈΒ» ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ.ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ.
ΠΡΠ°ΠΊ, ΡΡΠΎ Π²ΡΠ΅ ΠΎ ΡΠΈΠΊΠ»Π°Ρ VBA. Π‘ΠΎΠΎΠ±ΡΠΈΡΠ΅ Π½Π°ΠΌ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
Do ... ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΈΠΊΠ»Π° (VBA) | ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ Microsoft
- 2 ΠΌΠΈΠ½ΡΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅
ΠΠΎΠ²ΡΠΎΡΡΠ΅Ρ Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ True ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ True .
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΎ [{ Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ | ΠΠΎ } ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ]
[ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ]
[ Exit Do ]
[ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ]
Π¦ΠΈΠΊΠ»
ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
Do
[ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ]
[ Exit Do ]
[ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ]
Π¦ΠΈΠΊΠ» [{ While | Π΄ΠΎ } ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ]
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Do Loop ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ:
Π§Π°ΡΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ | ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True ΠΈΠ»ΠΈ False . ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Null, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ False . |
Π²Π΅Π΄ΠΎΠΌΠΎΡΡΠΈ | ΠΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ ΠΏΠΎΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΡΡΠΈΠ½Π½ΠΎ . |
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Exit Do ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΠΈΠΊΠ»Π° Doβ¦ Loop Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° Doβ¦ Loop . Exit Do ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ΅Π½ΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ifβ¦ Then , ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Exit Do ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΡΠ°Π·Ρ Π·Π° ΡΠΈΠΊΠ»ΠΎΠΌ Loop .
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ Doβ¦ Loop , Exit Do ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ Π²ΡΡΠ΅ ΡΠΈΠΊΠ»Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Exit Do .
ΠΡΠΈΠΌΠ΅Ρ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Do.ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ..Loop . ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Do ... Loop ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ 10 ΡΠ°Π·, ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ Π΅ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π°Π³Π° False , ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΠ΅Ρ , ΠΈ ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Exit Do ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π°Π³Π°.
Public Sub LoopExample ()
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠΊΠ»ΠΎΡΡΠΈ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠ΅ΡΡΠΈΠΊ Π΄ΠΎ Π΄Π»ΠΈΠ½Ρ, Π²ΡΠ΅Π³ΠΎ Π΄ΠΎ Π΄Π»ΠΈΠ½Ρ
Check = True: Counter = 0: Total = 0 'ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ Π²Π½Π΅ΡΠ½ΡΡ ΠΏΠ΅ΡΠ»Ρ.
Π‘ΡΠ΅ΡΡΠΈΠΊ Do while <20 ΡΡΡΠΎΠ² Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΏΠ΅ΡΠ»ΠΈ
Π‘ΡΠ΅ΡΡΠΈΠΊ = Π‘ΡΠ΅ΡΡΠΈΠΊ + 1 'Π‘ΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Counter Mod 10 = 0, ΡΠΎ 'ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 10.
Check = (MsgBox ("ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ?", VbYesNo) = vbYes) 'ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΌΠ΅Ρ Π½Π° "ΠΠ΅Ρ"
If Not Check Then Exit Do 'ΠΡΡ
ΠΎΠ΄ ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΈΠΊΠ»Π°.
ΠΠΎΠ½Π΅Ρ, Π΅ΡΠ»ΠΈ
ΠΠ΅ΡΠ»Ρ
Total = Total + Counter 'Exit Do Lands here.
Π‘ΡΠ΅ΡΡΠΈΠΊ = 0
Loop until Check = False 'ΠΠ΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠΈΠΊΠ»Π°.MsgBox Β«ΠΠΎΠ΄ΡΡΠΈΡΠ°Π½ΠΎ Π΄ΠΎ:Β» & ΠΡΠ΅Π³ΠΎ
ΠΠΎΠ½Π΅Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ
Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈ ΠΎΡΠ·ΡΠ²Ρ
Π£ Π²Π°Ρ Π΅ΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ·ΡΠ²Ρ ΠΎΠ± Office VBA ΠΈΠ»ΠΈ ΡΡΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ? Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈ ΠΎΡΠ·ΡΠ²Ρ Office VBA, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΡΠ·ΡΠ².
Π¦ΠΈΠΊΠ»Ρ For Next ΠΈ For each Next Π΄Π»Ρ VBA Π² Excel
ΠΡΠΎΠ³: Π¦ΠΈΠΊΠ»Ρ For Next Loops - ΡΡΠΎ ΠΎΠ΄Π½ΠΈ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΌΠΎΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² VBA Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠΈΡ Π·Π°Π΄Π°Ρ Π² Excel.Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΌΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ΅.
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ: Π‘ΡΠ΅Π΄Π½ΠΈΠΉ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΈΠΊΠ»ΠΎΠ² VBA
Π Excel ΠΌΡ ΡΡΠ°ΡΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΡ Π·Π°Π΄Π°Ρ. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ², ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π»ΠΈΡΡΠΎΠ², ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΡΡΠ°Π²ΠΊΠ° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ½ΠΈΠ³, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠ΄Π½ΡΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ, Π·Π°ΠΌΠ΅Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡΠ» ΠΈ Ρ. Π.
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°?
ΠΡΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΌΠΈ ΠΈ ΠΠΠΠΠΠΠΠΠ’ΠΠΠ¬ΠΠ«ΠΠ!
Π ΡΡΠ°ΡΡΡΡ, Π²ΡΡ ΠΎΠ΄ Π΅ΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ Π² Π½Π°ΡΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠ°Ρ VBA, ΡΡΠΎΠ±Ρ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ . ΠΠ°Π΄Π°ΡΠΈ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΡΠ½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΠ½Π΄Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π°.
Π¦ΠΈΠΊΠ» For Next Loop - ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ ΡΠΈΠΊΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ Π·Π°Π΄Π°Π½ΠΈΡ.Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠΈΠΊΠ»ΠΎΠ² For Next Loops.
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΏΡΠΈΠΌΠ΅ΡΠ°
ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Excel, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Ρ ΡΠΈΠΊΠ»ΠΎΠΌ For Next Loop.
Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΎΡΠ° VBA ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° Examples.xlsm (79,0 ΠΠ)
ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ PDF-Π²Π΅ΡΡΠΈΡ ΡΡΠ°ΡΡΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° For Next ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π΄Π»Ρ VBA Excel - Excel Campus.pdf (490,5 ΠΠ)
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» For Next?
Π¦ΠΈΠΊΠ» For Next Loop ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Excel.ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΈΡΠ΅Π».
ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- Π―ΡΠ΅ΠΉΠΊΠΈ Π² Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½ΡΠ΅.
- Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΠ΅ΡΡΠ°Π΄ΠΈ.
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
- Π‘Π²ΠΎΠ΄Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π½Π° Π»ΠΈΡΡΠ΅.
- Π‘Π²ΠΎΠ΄Π½ΡΠ΅ ΠΏΠΎΠ»Ρ Π² ΡΠ²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅.
- Π€ΠΈΠ³ΡΡΡ Π½Π° Π»ΠΈΡΡΠ΅.
- Π Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΠ΅ Π² Excel.
ΠΠ°Π΄Π°ΡΠ° ΡΠΈΠΊΠ»Π° For Next Loop - Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°) Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΊΠ» For Next Loop, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π»ΠΈΡΡ. Π¦ΠΈΠΊΠ» Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ (ΠΏΠ΅ΡΠ²ΡΠΉ Π»ΠΈΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅) ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ (ΡΡΡΠΎΠΊΠΈ) ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ For ΠΈ Next Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ (ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π»ΠΈΡΡΠ° Π² ΠΊΠ½ΠΈΠ³Π΅).
Sub Unhide_Multiple_Sheets () Dim ws ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π² ActiveWorkbook.Worksheets ws.Visible = xlSheetVisible Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ws ΠΠΎΠ½ΡΠ΅Π²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π½ΠΈΠΊ
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ If, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ°ΠΊΡΠΎΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ Π»ΠΈΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΡΡΠ°Π·Π° Β«ABC Global Co.Β». Π² ΡΡΠ΅ΠΉΠΊΠ΅ A1 ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π»ΠΈΡΡΠ° ΠΈ ΡΠΊΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π»ΠΈΡΡΡ.
Sub Unhide_Report_Sheets () Dim ws ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π² ActiveWorkbook.Worksheets ΠΡΠ»ΠΈ ws.Range ("A1"). Value = "ABC Global Co." ΠΠΎΡΠΎΠΌ ws.Visible = xlSheetVisible ΠΡΠ΅ ws.Visible = xlSheetHidden ΠΠΎΠ½Π΅Ρ, Π΅ΡΠ»ΠΈ Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ws ΠΠΎΠ½ΡΠ΅Π²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π½ΠΈΠΊ
ΠΠ²Π° ΡΠΈΠΏΠ° ΡΠΈΠΊΠ»ΠΎΠ² For Next
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠΈΠΊΠ»ΠΎΠ² For Next Loops.
- ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
- For Next Loops ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΠ΅Π».
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ .
Π¦ΠΈΠΊΠ» Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π°: ΡΠΈΠΊΠ» ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ Π²ΡΡΠ΅, ΡΠΈΠΊΠ» For Each Next ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².ΠΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π² Excel, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΏΡΡΡ ΠΆΠ΅, ΡΡΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, Π»ΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅, ΡΠ²ΠΎΠ΄Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π² Π»ΠΈΡΡΠ΅ ΠΈ Ρ. Π.
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΠΊΠ»Π° For Each Next Loop, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅.
ΠΡΡΡ 4 ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π³Π° Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΠΊΠ»Π° For Each Next Π² VBA:
- ΠΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ (ΠΈ) ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠΊΠ½ΡΡΡ ΡΠΈΠΊΠ».
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΠ°Π³ΠΎΠ².
Π¨Π°Π³ 1. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π‘Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ.
Π‘ΡΡΠΎΠΊΠ° Dim Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ.Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π°Ρ ΠΎΡΠΈΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ Π² ββVBA. Β«WsΒ» - ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ°, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
Dim ws ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ
Π¨Π°Π³ 2 - ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ For Each. ΠΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Π² ΡΠΈΠΊΠ»Π΅.
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π² ActiveWorkbook.Worksheets
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠ»ΠΎΠ²Π° - Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ .ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ»ΠΎΠ²ΠΎ In ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, Π³Π΄Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π² ActiveWorkbook. ΠΡΠ°ΠΊ, Π½Π°Π±ΠΈΡΠ°Π΅ΠΌ ActiveWorkbook.Worksheets . ΠΡΠ° ΡΡΡΠΎΠΊΠ° ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ Π² ActiveWorkbook.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π»ΠΈΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΡΠΈΠΊΠ»Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Workbooks Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ws Π² ΠΊΠ½ΠΈΠ³Π°Ρ ("Book2.xlsx "). ΠΠΈΡΡΡ
ΠΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π°, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΡΡΡΠ»Π°Π΅ΡΠ΅ΡΡ, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΡΠΊΡΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° For Next. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Workbooks.Open, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΠΊΠ½ΠΈΠ³Ρ.
Π¨Π°Π³ 3 - ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ
ΠΠΎΡΠ»Π΅ ΡΡΡΠΎΠΊΠΈ For Each ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΡ (ΠΈ) ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π»ΠΈΡΡΠ΅. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π»ΠΈΡΡ.
ws.Visible = xlSheetVisible
Π ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ws Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ Π² ΡΠΈΠΊΠ»Π΅.ΠΠΎΠ³Π΄Π° ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ws Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅ .
ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ws Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°.
Set ws = Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ (1)
ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π°ΠΌ ΠΠ Π½ΡΠΆΠ½Π° ΡΡΠ° ΡΡΡΠΎΠΊΠ° Ρ For Each Next Loop . Π¦ΠΈΠΊΠ» Π·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ Π½Π°Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅.
ΠΠ»Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° ws ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ Worksheets (1).ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ws ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Worksheets (2). ΠΡΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ, ΠΏΠΎΠΊΠ° ΡΠΈΠΊΠ» ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π»ΠΈΡΡΠ°ΠΌ Π² ΠΊΠ½ΠΈΠ³Π΅. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π² ΡΠΈΠΊΠ»Π΅.
Π¨Π°Π³ 4 - Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π°Π·Π°Π΄
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Π² ΡΠΈΠΊΠ»Π΅ - ΡΡΠΎ ΡΡΡΠΎΠΊΠ° Next .
ΠΠ°Π»Π΅Π΅ ws
ΠΠΎΠ³Π΄Π° ΠΌΠ°ΠΊΡΠΎΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΡΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°, ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ Π΄Π²Π΅ Π²Π΅ΡΠΈ:
- Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠ½ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ws ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π»ΠΈΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅.
- ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΡΡΠΎΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄ ΡΡΡΠΎΠΊΠΎΠΉ For Each. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ For Each ΠΈ Next Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·.
ΠΠΎΠ³Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ (ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅), ΡΠΈΠΊΠ» ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΈ ΠΌΠ°ΠΊΡΠΎΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ.
Π ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΈΠΊΠ» Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°?
Π¦ΠΈΠΊΠ» For Each Loop Π²ΡΠ΅Π³Π΄Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² Excel.ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΎ Π½Π° ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΠΎΠΌ Π½ΠΎΠΌΠ΅ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΠΎΡΡΠ΄ΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° Π΄Π»Ρ ΠΎΠ±ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
- Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ: ΠΠ°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π»ΠΈΡΡΠ° Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅.
- Π Π°Π±ΠΎΡΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ: ΠΠ°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»ΠΈ ΠΎΡΠΊΡΡΡΡ ΠΊΠ½ΠΈΠ³ΠΈ. Π Π°Π±ΠΎΡΠΈΠΌ ΠΊΠ½ΠΈΠ³Π°ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΡ ΠΎΡΠΊΡΡΡΠΈΡ.
- Π―ΡΠ΅ΠΉΠΊΠΈ: Π¦ΠΈΠΊΠ»Ρ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ, Π·Π°ΡΠ΅ΠΌ Π²Π½ΠΈΠ·. ΠΠ°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΡΠΎΠ»Π±ΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠΎΠΊΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅.
- Π’Π°Π±Π»ΠΈΡΡ ΠΈ ΡΠ²ΠΎΠ΄Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ: ΠΠ°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π½Π° Π»ΠΈΡΡΠ΅, ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π’ΠΎΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ² ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π½Π° Π»ΠΈΡΡΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΈΠ³ΡΡΡ, Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ, ΡΡΠ΅Π·Ρ ΠΈ Ρ. Π.
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ / ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΠ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ Π² ΡΠΈΠΊΠ»Π΅
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΠ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π² Excel.
Π¦ΠΈΠΊΠ» ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ / ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ±ΡΠ΅ΠΊΡ ΠΠ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈ ΠΠ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ. ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Select ΠΈΠ»ΠΈ Activate. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (Ρ) ΠΎΠ±ΡΠ΅ΠΊΡΠ° (Ρ) Π²ΡΠ±ΡΠ°Π½ ΠΏΠ΅ΡΠ²ΡΠΌ. ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΌΠΎΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ΠΉ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Excel ΠΈ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² VBA, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΊΠ»: ΡΠΈΠΊΠ» ΠΏΠΎ Π½Π°Π±ΠΎΡΡ ΡΠΈΡΠ΅Π»
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» For Next Loop Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° Π½Π°Π±ΠΎΡΠ° ΡΠΈΡΠ΅Π».ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠΎΡΠΌΡ, ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΊΠ»Π° For Next ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ ΡΠΈΠΊΠ»Π° For Each. Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΡΡΠΎΠΊΠΈ For.
Π¨Π°Π³ 1. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΡΠΈΡΠ»Π°
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π½Π°Π±ΠΎΡ ΡΠΈΡΠ΅Π», Π½Π°ΠΌ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ . ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΠ΅ ΠΈΠ»ΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
Π’ΡΡΠΊΠ»ΡΠΉ ΠΈ Π΄Π»ΠΈΠ½Π½ΡΠΉ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π‘ΡΠ΅ΡΡΠΈΠΊ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΈΠ»ΠΈ Π²Π΅Π΄Π΅Ρ ΡΡΠ΅Ρ Π²Π²Π΅ΡΡ / Π²Π½ΠΈΠ· Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊ Long: Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ Long (ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ) ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ, ΡΠ΅ΠΌ Integer. ΠΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΠ° Long ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ. ΠΡΠΊΠ²Π° L Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ° 1 Π² VBA, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ i Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ ΠΎΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Long. ΠΡΠΎ Π²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡ Π»ΠΈΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°Π·Π²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΊ Ρ ΠΎΡΠΈΡΠ΅.
Π¨Π°Π³ 2 - ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ For
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ For.ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ - ΡΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΠ»Ρ , Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (ΡΡΠ΅ΡΡΠΈΠΊ) , Π·Π°ΡΠ΅ΠΌ ΡΠ°Π²Π½ΠΎ Π·Π½Π°ΠΊΡ , Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ .
ΠΠ»Ρ i = ΠΎΡ 1 Π΄ΠΎ 10
ΠΠ° Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ»Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π° ΡΠΈΡΠ»Π°, ΠΈΠ»ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ / Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
ΠΠ»Ρ i = iStart To iEnd
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΡ ΡΠΈΡΠ»ΠΎ.
ΠΠ»Ρ i = 1 Π ActiveWorkbook.Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ.Π‘ΡΠ΅Ρ
ΠΡΠ° ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Π²Π΅ΡΠ½Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΈΡΡΠΎΠ² Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ ΠΠ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ. Π¦ΠΈΠΊΠ» ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΠ΅Π». ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΡΠΈΠΊΠ° (i) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ²ΠΎΠΉΡΡΠ²Π° Worksheets. Π¨Π°Π³ 3 ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡ ΡΡΡΠ»ΠΊΡ.
Π¨Π°Π³ 3. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠ΅Π³ΠΎΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ
ΠΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΠΈΠΊΠ»Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠΈΠΊΠ» For Each.ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ For ΠΈ Next, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°. Π ΡΡΠΈΡ ΡΡΡΠΎΠΊΠ°Ρ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·.
Π Π°Π±ΠΎΡΠΈΠ΅ Π»ΠΈΡΡΡ (i) .Visible = True
Π¨Π°Π³ 4 - Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΡΠΈΠΊΠ» Π½Π°Π·Π°Π΄
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π²Π½ΠΈΠ·Ρ.
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Ρ
ΠΠΎΠ³Π΄Π° ΠΌΠ°ΠΊΡΠΎΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠ°Π²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΡΠΈΡΠ»Ρ Π² ΡΡΡΠΎΠΊΠ΅ For. ΠΠΎΠ³Π΄Π° ΠΌΠ°ΠΊΡΠΎΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΡΡΡΠΎΠΊΡ Next, ΠΎΠ½ ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅Ρ 1 ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅Ρ.ΠΡΠ°ΠΊ, Π½Π° Π²ΡΠΎΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° i = 2. ΠΠ½ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠΈΠΊΠ» Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ Π² ΡΠΈΠΊΠ»Π΅.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, 1 Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ ΡΡΠ΅ΡΡΠΈΠΊΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Step Value , ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π³Π° Π² ΡΡΠ΅ΡΡΠΈΠΊΠ΅. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Step Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ For. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ 2 ΠΊ ΡΡΠ΅ΡΡΠΈΠΊΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°.
ΠΠ»Ρ i = ΠΎΡ 2 Π΄ΠΎ 20 Π¨Π°Π³ 2
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΡΡΡΠΈΡ ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π²ΡΠΎΡΡΡ ΡΡΡΠΎΠΊΡ Π½Π° Π»ΠΈΡΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΡΡ ββΠΏΠ΅ΡΠ»Ρ.
ΠΠ°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π°Π·Π°Π΄
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π³Π° Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΡΠΊΠ°Π·Π°Π² ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΠ»Ρ i = ΠΎΡ 100 Π΄ΠΎ 1, ΡΠ°Π³ -1
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ, Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ - ΠΌΠ΅Π½ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ . Π¦ΠΈΠΊΠ» Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 100 (Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅) ΠΈ Π²ΡΡΠΈΡΠ°Π΅Ρ 1 ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΡΠΈΠΊΠ° (ΡΠ°Π³ -1) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅Ρ Π΄ΠΎ 1 (ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅).
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Step - Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ .ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ, VBA ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Step, ΡΠ°Π²Π½ΠΎΠ΅ 1.
.
ΠΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. Π― Π½Π°ΠΏΠΈΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ, Π½ΠΎ ΠΎΠ±ΡΠ°Ρ ΠΈΠ΄Π΅Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π¦ΠΈΠΊΠ» ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ, ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ 10-Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²ΡΠ΅Π³ΠΎ 9 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
Π Π°Π½Π½ΠΈΠΉ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠΈΠΊΠ»Π°
ΠΠ±ΡΡΠ½ΠΎ ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ.ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΠΊΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Exit For .
ΠΡΡ ΠΎΠ΄ Π΄Π»Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ°ΠΊΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Exit For Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²ΡΠΉ Π»ΠΈΡΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π° Β«ReportΒ», ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ ΠΊΠ°ΠΊ ΡΠΊΡΡΡΡΠΉ.
Sub Unhide_First_Sheet_Exit_For () 'ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ Π»ΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°Π·Ρ 'Π² ΠΈΠΌΠ΅Π½ΠΈ Π»ΠΈΡΡΠ°, Π·Π°ΡΠ΅ΠΌ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠΈΠΊΠ»Π°. Dim ws ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π² ActiveWorkbook.Worksheets 'ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π° "ΠΡΡΠ΅Ρ" ΠΡΠ»ΠΈ Π²Π»Π΅Π²ΠΎ (ws.Name, 6) = "Report" Π’ΠΎΠ³Π΄Π° ws.Visible = xlSheetVisible 'ΠΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½ ΠΏΠ΅ΡΠ²ΡΠΉ Π»ΠΈΡΡ ΠΡΡ ΠΎΠ΄ Π΄Π»Ρ ΠΠΎΠ½Π΅Ρ, Π΅ΡΠ»ΠΈ Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ws ΠΠΎΠ½ΡΠ΅Π²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π½ΠΈΠΊ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ws ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ½ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π² ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ΄ ΡΠΈΠΊΠ»ΠΎΠΌ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°
ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Next Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π° Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ .
ΠΠ°Π»Π΅Π΅ ws
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Ρ
ΠΡΠΎ ΠΠ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠΎΠ³ΠΎ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ Next ΠΏΠΎ Π΄Π²ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ.
- ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π°Π²Π΅Π΄Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.
- ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ For ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π΅ΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΊΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ² Π² Π²Π°ΡΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠ°Ρ .
ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Next Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ. ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π·Π°ΡΠ°Π½Π΅Π΅ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π³ΠΎΠ»ΠΎΠ²Π½ΡΡ Π±ΠΎΠ»Ρ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΠΎΠ²Π΅ΡΡΡΠ΅ ΠΌΠ½Π΅! π
ΠΡΠΈΠΌΠ΅ΡΡ ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠ΄Π° VBA Π΄Π»Ρ ΡΠΈΠΊΠ»ΠΎΠ²
ΠΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ Ρ ΠΌΠ°ΠΊΡΠΎΡΠ°ΠΌΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ» For Next Loop.
3 ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡΠΎΠ² Π² Excel + VBA Tutorial
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΠ΅Π» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ²ΠΎΠ΄Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ Excel
3 ΡΠΎΠ²Π΅ΡΠ° ΠΏΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°ΠΊΡΡΡΠΈΡ Π²ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠ½ΠΈΠ³ΠΈ Excel + ΠΌΠ°ΠΊΡΠΎΡ
ΠΠ°ΠΊΡΠΎΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ - ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π²ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»Ρ Excel
Π‘ΠΊΡΡΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ (ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ) ΡΡΠΎΠ»Π±ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΠΌΠ΅Π½Ρ ΡΠ»Π°ΠΉΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΡΠΈΠ»ΡΡΡΠ°
Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΠ²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΡΡΠ΅Π·Π° ΠΏΠΎ ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π΄Π°ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Excel Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΊΡΠ°Π½Π°
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΠΎΡΠΌΡΠ»Ρ Π‘Π£ΠΠΠΠ‘ΠΠΠΠ + Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ VBA
ΠΠ°ΠΊΡΠΎΡ VBA Π΄Π»Ρ ΡΠΊΡΡΡΠΈΡ Π²ΡΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΉΠΊΠ΅
ΠΠ°ΠΊ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π·Π°Π΄Π°ΡΠΈ Ρ ΠΊΠΎΠ΄ΠΎΠΌ VBA - Π¦ΠΈΠΊΠ» - ΠΡΠ»ΠΈΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΎΡ ΠΌΠΎΠ΅Π³ΠΎ Π΄ΡΡΠ³Π° ΠΡΠΈΡΠ° ΠΡΡΠΌΠ°Π½Π° ΠΈΠ· The Spreadsheet Guru.
ΠΠ°ΠΊΡΡ Π·Π°Π΄Π°ΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΡΠΈΠΊΠ»ΠΈΡΡ?
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ. ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Excel, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠ±ΡΠ°Π·ΡΡ ΠΊΠΎΠ΄Π°.
Π¦ΠΈΠΊΠ»Ρ
- ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΠΏΠΈΡΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ². Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ΅ΡΠ»ΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π°Π²ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠ°ΡΡΠ΅ΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΡΡΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ, ΠΏΡΠΈΠ΄Π°ΡΡ Π²Π°ΠΌ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠ»Ρ Π² Excel.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π½ΠΈΠΆΠ΅ Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π°. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ! π
.