Вы можете l oop вместо Areas
:
Sub Test()
Dim rng As Range
For Each rng In Range("A3:B8,D9:V9,C7:F2").Areas
Dim cell As Range
For Each cell In rng
cell.Value = 100
Next
Next
End Sub
Обратите внимание, что все это можно просто заменить на:
Range("A3:B8,D9:V9,C7:F2").Value = 100
но я полагаю, что ваш реальный вариант использования более сложен, чем этот упрощенный пример.
EDIT :
Также проще:
Dim rng As Range
For Each rng In Range("A3:B8,D9:V9,C7:F2")
rng.Value = 100
Next
, но все же не совсем понятно, что вы хотите сделать.