Я искал ответы уже некоторое время, но у меня все время возникают разные ошибки.Vba Loop через массив
я рабочий код:
Dim arkwyn As Variant
arkwyn = Array(1, 2, 3, "stats-obl")
For Each x In arkwyn
....
Next
Но мне нужно использовать аналогичный подход в более сложном листе. Кроме того, он должен быть быстрым, так как он станет частью более сложной процедуры обновления, которая постоянно отслеживает многие поля на листе.
Не могли бы вы взглянуть и помочь мне сделать это правильно?
Private Function RowNo(ByVal text1 As String)
RowNo = Columns(2).Find(text1, Lookat:=xlWhole).Row
End Function
Dim t1r As Variant
Dim t1 As Integer
t1r = Array("1.2", "1.3", "1.4", "1.5", "1.6.2", "1.8", "1.9", "1.13.1.1", _
"1.13.1.2", "1.13.2")
For t1 = LBound(t1r) To UBound(t1r)
Select Case UCase(Cells(RowNo(t1), 3).Value)
Case "x"
Rows(RowNo(t1) + 1).Hidden = False
Case Else
Rows(RowNo(t1) + 1).Hidden = True
End Select
Next t1
Thx для ответа, я попытался дальше реализовать, и я создал н так:
Dim ColAn As Long
ColAn = 4
Dim YtQ1Ar As Variant
Dim Y1q, rY1q As Long
YtQ1Ar = Array("1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.7.1", "1.7.2", _
"1.7.3", "1.7.4", "1.7.5", "1.7.6", "1.7.7", "1.7.8", "1.7.9", "1.7.10", "1.7.11")
For Y1q = LBound(YtQ1Ar) To UBound(YtQ1Ar)
rY1q = RowNo(YtQ1Ar(Y1q))
Rows(rY1q).Hidden = (UCase(Cells(RowNo("1."), ColAn).Value) <> "TAK")
Next Y1q
Идея заключается в том, что значение ячейки должен отобразить определенное количество строк. Я продолжаю получать «Ошибка времени выполнения 91: переменная объекта или с переменной блока не установлена» Где я могу ошибиться?
Какую ошибку вы получаете с кодом? –
Ошибка времени выполнения 91, переменная объекта не установлена .. – torin