Contents

# For...Next Statement

Repeats the statements between the For...Next block a specified number of times.

## Cú pháp:

    For counter=start To end [Step step]
        statement-block
        [Exit For]
        statement-block
    Next [counter]

      For Each item In list
          statement-block
      [Exit For]
          statement-block
      Next [item]

## Biến:

counter: Loop counter initially assigned the value to the right of the equal sign (start). Only numeric variables are valid. The loop counter increases or decreases according to the variable step until end is passed.

start: Numeric variable that defines the initial value at the beginning of the loop.

end: Numeric variable that defines the final value at the end of the loop.

step: Sets the value by which to increase or decrease the loop counter. If step is not specified, the loop counter is incremented by 1. In this case, end must be greater than start. If you want to decrease counter, end must be less than start, and step must be assigned a negative value.

Vòng lặp For...Next lặp lại tất cả các câu lệnh trong vòng lặp số lần đã ghi rõ bằng tham số.

As the counter variable is decreased, LibreOffice Basic checks if the end value has been reached. As soon as the counter passes the end value, the loop automatically terminates.

Cũng có thể lồng nhau nhiều câu lệnh For...Next. Nếu bạn không ghi rõ một biến phía sau câu lệnh Next, Next tự động tham chiếu đến câu lệnh For mới đây.

Nếu bạn ghi rõ một bước tăng/giảm 0, những câu lệnh nằm giữa For và Next được lặp lại liên tục.

When counting down the counter variable, LibreOffice Basic checks for overflow or underflow. The loop ends when counter exceeds end (positive Step value) or is less than end (negative Step value).

Hãy dùng câu lệnh Exit For (thoát trong) để thoát tuyệt đối vòng lặp. Câu lệnh này phải nằm bên trong một vòng lặp kiểu For...Next (trong...kế tiếp). Dùng câu lệnh If...Then (nếu...thì) để thử điều kiện thoát như theo đây:

      For...
          statement-block
          If condition = True Then Exit For
          statement-block
      Next

In nested For...Next loops, if you exit a loop unconditionally with Exit For, only one loop is exited.

## Examples

The following example uses two nested loops to sort a string array with 10 elements ( sEntry() ), that is filled with various contents:

    Sub ExampleSort
    Dim sEntry(9) As String
    Dim iCount As Integer, iCount2 As Integer
    Dim sTemp As String
        sEntry = Array("Jerry","Patty","Kurt","Thomas","Michael",_
                     "David","Cathy","Susie","Edward","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

This explores the content of an array to display each item it contains.

      Sub list_iteration
          cutlery = Array("fork", "knife", "spoon")
          For Each item in cutlery
              Print item
          Next ' item
      End Sub

Please support us!