title: Vba Loop through an array
body: <p>I was looking for the answers for some time already, but I keep having the different errors whatever I try.</p>
  
  <p>I had working code:</p>
  
  <pre><code>Dim arkwyn As Variant
  arkwyn = Array(1, 2, 3, "stats-obl")
  
  For Each x In arkwyn
  ....
  Next
  </code></pre>
  
  <p>But I need to use similar approach in more complex worksheet. In addition it needs to be quick as it will be the part of more complex Update procedure that constantly keeps track of many fields in the worksheet.</p>
  
  <p>Could you please take a look and help me to do it properly?</p>
  
  <pre><code>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
  </code></pre>
  
  <p>Thx for the answer, I tried to implement it further and I created sth like this:</p>
  
  <pre><code>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) &lt;&gt; "TAK")
      Next Y1q
  </code></pre>
  
  <p>The idea is that the cell value is supposed to unhide certain number of rows. I keep getting "Run time error 91: Object variable or With block variable not set"
  Where do I make mistake?</p>