Циклирование через разные диапазоны

Я работаю с кодом vba, чтобы проверять ячейки в диапазоне сохранения для критерия1. то мне нужно пройти через другие диапазоны, чтобы проверить другие критерии2,3,4... Мой диапазон должен быть переменным. Он перемещает столбцы по столбцу, всегда между строками 3 и "lr" whch является переменной. У меня также есть номер столбца переменная "col", так как это переменная, которую я должен увеличивать до цикла. Я написал это, но он не работает. В моем цикле "Для каждого" я также призываю другие функции. эти функции называются "CriteriaCol1", "CriteriaCol2" и т.д. поэтому номер столбца и номер в вызове Sub im совпадают. Так есть способ сделать число в подзаголовке переменной тоже? Вот немного путаный код:

Sub error_rept()

Dim lr As Long
Dim colrg As Range
Dim col As Integer
Dim Passed As Boolean

 lr = ActiveSheet.Range("A1").Offset(ActiveSheet.Rows.Count - 1, 0).End(xlUp).Row - 1
 col = 1

 Do While col < 8

 set colrg=sheets("NewDataSheet").range(col,3:col,lr)
 For Each cell In colrg
 '##if "run CriteriaCol1 and check if value of passed is true or false" then
 Next
 Else
 'do something
 End If
 Next

End Sub

Sub CriteriaCol()

Dim passes As Boolean

 If (cell.Value) = 6.01 Or (cell.Value) = 6.03 Or (cell.Value) = 6.04 Or (cell.Value) = 6.27 Then
 Passed = True
 Else
 Passed = False
 End If

End Sub

Sub CriteriaCol2()

Dim Passed As Boolean

 If (cell.Value) < 9999 And (cell.Value) > 1000 Then
 Passed = True
 Else
 Passed = False
 End If
End Sub

Строка set colrg дает ошибку: синтаксическая ошибка

какие-либо предложения? благодаря

2 ответа

Попробуй это...

set colrg=sheets("NewDataSheet").range(format(col) & "3:" & format(col) & format(lr))


Один из способов настройки диапазона - использовать метод Cells(). Например, для установки объекта диапазона "B2: C5" вы должны использовать примерно следующее:

set colrg = Sheets("Sheet1").Range(Cells(2,2),Cells(5,3))

Поскольку (2, 2) соответствует второй строке и второй колонке, B2 и (5, 3) соответствуют пятой строке и третьему столбцу C5.

Затем вы можете прокручивать этот диапазон с помощью параметра "Для каждого" с вариантом или объектом ячейки.

licensed under cc by-sa 3.0 with attribution.