title: Excel VBA - Find and Fill in Values
body: <p>Sorry for the noobish question, but I'm new and I don't have much of a programming background.  I tried this on my own for a few hours, but I just don't know enough.  I checked <a href="https://stackoverflow.com/questions/20502897/find-a-value-and-filldown-over-multiple-subsequent-ranges">this</a> and <a href="https://stackoverflow.com/questions/11978184/use-findnext-to-fill-multidimensional-array-vba-excel">this</a>, but I couldn't figure out how to modify it enough.</p>
  
  <p><strong>Example data:</strong></p>
  
  <p><img src="https://i.stack.imgur.com/HIGe3.jpg" alt="enter image description here"></p>
  
  <p>The first part is how I get the file, the 2nd part is how I want it to look.</p>
  
  <p>The first 3 columns have values somewhere in the column.  I need to find those values, copy them, and paste them down to the next value, then repeat all the way to the bottom of the range.  Sometimes there are many values per column, sometimes only 1.  The last row of the data could be determined by column 4.  Basically I just need to fill in all the blank cells.  Note: Row 2 does not always contain the first value.</p>
  
  <p><strong>Here's what I have so far (update):</strong></p>
  
  <pre><code>Sub FindFillIn()
  
      Dim columnValues  As Range, i As Long
      Dim cellstart As Integer
      Dim cellend As Integer
      cellstart = 2
      cellend = ActiveSheet.Range("E" &amp; ActiveSheet.Rows.Count).End(xlUp).Row
  
      i = 1
  
      For i = cellstart To cellend
          If Cells(i, 1).Value = "" Then
              Cells(i, 1).Value = Cells(i - 1, 1).Value
          End If
      Next i
  
  End Sub
  </code></pre>
  
  <p><strong>Update:</strong> </p>
  
  <p>It appears to run correctly on the first column, but it only does one column.  How do I get it to run on columns 1, 2, and 3?</p>