MyTetra Share
Делитесь знаниями!
Время создания: 16.03.2019 23:43
Текстовые метки: VBA, For, Цикл
Раздел: Разные закладки - VBA
Запись: xintrea/mytetra_db_adgaver_new/master/base/1513051444e9gd4c1l5y/text.html на raw.githubusercontent.com

Циклы For

Оператор For предназначен для организации циклов с заранее известным числом повторений. Есть два варианта его использования. Первый - использование конструкции For - Next:

For i = 1 to 10

  if Cells(1,i) <> "" then Exit For

  Cells(1,i).Value = i

Next i

Переменная i принимает значения от 1 до 10. В случае необходимости выполнение цикла можно прервать командой Exit For.

Второй вариант цикла For позволяет перебирать все элементы, входящие в массив или коллекцию. Он полезен, когда нужно произвести однотипные операции над всем массивом. Описание его такое:

For Each переменная In массив

  Действия

Next переменная

Переменная должна иметь тип Variant или Object, в котором можно хранить практически всё. Пример:

Sub Test()

  Dim arr(1) As String

  arr(0) = "First element"

  arr(1) = "Second element"

  Dim v As Variant

  For Each v In arr

   MsgBox (v)

  Next v

End Sub

For Each очень удобен для работы с коллекциями. Вот так можно пробежаться по открытым книгам.

Sub Test()

  Dim v As Variant

  For Each v In Workbooks

   MsgBox (v.Name)

  Next v

End Sub

Или по листам книги:

Sub Test()

  Dim v As Variant

  For Each v In Workbooks.Item("book.xls").Sheets

   MsgBox (v.Name)

  Next v

End Sub

Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования