title: Using the .Find Function VBA - not returning the first value
body: <p>I have written a code excerpt for a larger program to test proof of concept. (Hence the small amount of code.) The idea behind the main code is for the user to generate an array using a Custom UserForm with check-boxes, then search the array for all mentions of "1" i.e. when the check-boxes have been selected. Then use the row number of the array to load a series of extra UserForms based on which check-boxes were selected. I imagine there are easier ways to do this, but this is the method that I have chosen, my coding experience with VBA is fairly limited!</p>
  
  <p>I've attached an example of the array that is generated.</p>
  
  <p><a href="https://i.stack.imgur.com/Wdmqf.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Wdmqf.png" alt="An test example of arrey generated by the main code"></a></p>
  
  <p>When I run the code, it works as inteneded except for the case when
  Cells (1,2) = 1</p>
  
  <p>Can anyone spot why this is, I've been struggaling over this for some time right now.</p>
  
  <pre><code>Sub Array_Finder()
  
      Dim StartFinder As String
      Dim StartFinderZero As String
      Dim StartFinderCheck As String
  
      i = 4 : j = 1
      StartFinderZero = 0 : StartFinderCheck = i + 2
      For StartFinderTest = 1 To i + 1
          StartFinder = StartFinderZero + 1
          If StartFinderCheck &gt; StartFinder Then
              StartFinderZero = Range(Cells(StartFinder, 2), Cells(i + 1, 2)).Find _
                  (What:="1", after:=Cells(StartFinder, 2), searchdirection:=xlNext).Row
              Cells(StartFinderTest, 3) = StartFinderZero
          Else
              MsgBox ("here")
              Exit For
          End If
      Next StartFinderTest
  End Sub
  </code></pre>