title: Copy rows based on info in the first column
body: <p>I have a series of data (item description) for 18 thousand items that appear a lot of times in the datasheet (the amount of times they repeat is random).</p>
  <p>The first time the item appears on the list the description is shown, but for the next times there's only the part number in the first column.</p>
  <p>The initial sheet:<br />
  <a href="https://i.stack.imgur.com/ICDQA.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ICDQA.jpg" alt="enter image description here" /></a></p>
  <p>How it should be:<br />
  <a href="https://i.stack.imgur.com/HBkIE.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/HBkIE.jpg" alt="enter image description here" /></a></p>
  <p>The datasheet: <a href="https://drive.google.com/file/d/1zf1maftGdCfupdAA7R0TNc6lzPnQrJ0j/view?usp=sharing" rel="nofollow noreferrer">In Google Drive</a></p>
  <p>I couldn't make something reproducible for the whole sheet (including the random intervals without description data).</p>
  <p>The idea is to have a match for every cell in columns A and C (as shown in the pictures).</p>
  <p>I tried the following code, applying it column by column, but after some of them it goes wrong.</p>
  <pre class="lang-vb prettyprint-override"><code>Sub Macro1()
      Dim Area As Range, LastRow As Long
      On Error Resume Next
      LastRow = Cells.Find(What:=&quot;*&quot;, SearchOrder:=xlRows, _
        SearchDirection:=xlPrevious, _
        LookIn:=xlFormulas).Row
      For Each Area In ActiveCell.EntireColumn(1).Resize(LastRow).SpecialCells(xlCellTypeBlanks).Areas
          Area.Value = Area(1).Offset(-1).Value
      Next
  End Sub
  </code></pre>