Цикл For … Next использует переменную, которая последовательно принимает значения из заданного диапазона (от ... до ... с шагом или без). С каждой сменой значения переменной выполняются действия, заключённые в теле цикла. Это легко понять из простенького примерчика:

For i = 1 To 100

Total = Total + i*15

Next i

В этом простом цикле For … Next используется переменная i, которая последовательно принимает значения 1, 2, 3, … 100, и для каждого из этих значений выполняется код VBA, находящийся внутри цикла.


Цикл For Each похож на цикл For … Next, но вместо того, чтобы перебирать последовательность значений для переменной-счётчика, цикл For Each выполняет набор действий для каждого объекта из указанной группы объектов. В следующем примере с помощью цикла For Each выполняется перечисление всех листов в текущей рабочей книге 
Excel:

Dim wSheet As Worksheet

For Each wSheet in Worksheets

MsgBox "В книге выявлен лист: " & wSheet.Name

Next wSheet