For...Next Statement

For...Next ๋ธ”๋ก ์‚ฌ์ด์˜ ๋ฌธ์„ ์ง€์ •ํ•œ ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ฌธ:

For counter=start To end [Step step]

๋ฌธ ๋ธ”๋ก

[Exit For]

๋ฌธ ๋ธ”๋ก

Next [counter]

๋ณ€์ˆ˜:

Counter: ๋“ฑํ˜ธ์˜ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๊ฐ’(start)์— ์ดˆ๊ธฐ์— ํ• ๋‹น๋˜๋Š” ๋ฃจํ”„ ์นด์šดํ„ฐ์ž…๋‹ˆ๋‹ค. numeric ๋ณ€์ˆ˜๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. ๋ฃจํ”„ ์นด์šดํ„ฐ๋Š” End๊ฐ€ ์ „๋‹ฌ๋  ๋•Œ๊นŒ์ง€ ๋ณ€์ˆ˜ Step์— ๋”ฐ๋ผ ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค.

Start: ๋ฃจํ”„ ์‹œ์ž‘ ๋ถ€๋ถ„์˜ ์ดˆ๊ธฐ ๊ฐ’์„ ์ง€์ •ํ•˜๋Š” numeric ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.

End: ๋ฃจํ”„ ๋ ๋ถ€๋ถ„์˜ ์ตœ์ข… ๊ฐ’์„ ์ง€์ •ํ•˜๋Š” numeric ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.

Step: ๋ฃจํ”„ ์นด์šดํ„ฐ๋Š” ์ด ๋ณ€์ˆ˜์— ์„ค์ •๋œ ๊ฐ’๋งŒํผ ์ฆ๊ฐ€ ๋˜๋Š” ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค. Step์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฃจํ”„ ์นด์šดํ„ฐ๋Š” 1์”ฉ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ End๋Š” Start๋ณด๋‹ค ์ปค์•ผ ํ•ฉ๋‹ˆ๋‹ค. Counter๋ฅผ ์ค„์ด๋ ค๋Š” ๊ฒฝ์šฐ End๊ฐ€ Start๋ณด๋‹ค ์ž‘์•„์•ผ ํ•˜๋ฉฐ Step์— ์Œ์ˆ˜๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

For...Next ๋ฃจํ”„๋Š” ๋งค๊ฐœ ๋ณ€์ˆ˜์— ์ง€์ •๋œ ํšŸ์ˆ˜๋งŒํผ ๋ฃจํ”„์˜ ๋ชจ๋“  ๋ฌธ์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

์นด์šดํ„ฐ ๋ณ€์ˆ˜๊ฐ€ ๊ฐ์†Œํ•  ๋•Œ LibreOffice Basic์€ ๋ ๊ฐ’์— ๋„๋‹ฌํ•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์นด์šดํ„ฐ๊ฐ€ ๋ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋ฉด ๋ฃจํ”„๋„ ์ž๋™์œผ๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

For...Next ๋ฌธ์„ ์ค‘์ฒฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Next ๋’ค์— ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ Next๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ์˜ For ๋ฌธ์„ ์ž๋™์œผ๋กœ ์ฐธ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ฆ๋ถ„์„ 0์œผ๋กœ ์ง€์ •ํ•˜๋ฉด For์™€ Next ์‚ฌ์ด์˜ ๋ฌธ์ด ๊ณ„์† ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค.

์นด์šดํ„ฐ ๋ณ€์ˆ˜๊ฐ€ ์ค„์–ด๋“ค ๋•Œ LibreOffice Basic์€ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋˜๋Š” ์–ธ๋”ํ”Œ๋กœ์šฐ๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. Counter๊ฐ€ End๋ฅผ ์ดˆ๊ณผํ•˜๊ฑฐ๋‚˜(์–‘์˜ Step ๊ฐ’) End๋ณด๋‹ค ์ž‘์œผ๋ฉด(์Œ์˜ Step ๊ฐ’) ๋ฃจํ”„๋Š” ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

๋ฃจํ”„๋ฅผ ๋ฌด์กฐ๊ฑด ์ข…๋ฃŒํ•˜๋ ค๋ฉด Exit For ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์€ For...Next ๋ฃจํ”„ ๋‚ด์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด If...Then ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

For...

๋ฌธ

If condition = True Then Exit For

๋ฌธ

Next

์ฐธ๊ณ : ์ค‘์ฒฉ๋œ For...Next ๋ฃจํ”„์—์„œ Exit For๋กœ ๋ฃจํ”„๋ฅผ ๋ฌด์กฐ๊ฑด ์ข…๋ฃŒํ•  ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ๋ฃจํ”„๋งŒ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ

๋‹ค์Œ์€ ๋‘ ๊ฐœ์˜ ์ค‘์ฒฉ๋œ ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋‚ด์šฉ์œผ๋กœ ์ฑ„์›Œ์ง€๋Š” 10๊ฐœ์˜ ์š”์†Œ๊ฐ€ ํฌํ•จ๋œ ๋ฌธ์ž์—ด ๋ฐฐ์—ด( sEntry() )์„ ์ •๋ ฌํ•˜๋Š” ์˜ˆ์ž…๋‹ˆ๋‹ค.

Sub ExampleSort

Dim sEntry(9) As String

Dim iCount As Integer

Dim iCount2 As Integer

Dim sTemp As String

    sEntry(0) = "Jerry"

    sEntry(1) = "Patty"

    sEntry(2) = "Kurt"

    sEntry(3) = "Thomas"

    sEntry(4) = "Michael"

    sEntry(5) = "David"

    sEntry(6) = "Cathy"

    sEntry(7) = "Susie"

    sEntry(8) = "Edward"

    sEntry(9) = "Christine"

    For iCount = 0 To 9

        For iCount2 = iCount + 1 To 9

            If sEntry(iCount) > sEntry(iCount2) Then

                sTemp = sEntry(iCount)

                sEntry(iCount) = sEntry(iCount2)

                sEntry(iCount2) = sTemp

            End If

        Next iCount2

    Next iCount

    For iCount = 0 To 9

        Print sEntry(iCount)

    Next iCount

End Sub