Sub CopyData()
Application.ScreenUpdating = False
Dim LastRow As Long, i As Long, fRow As Long, lRow As Long, srcWS As Worksheet, desWS As Worksheet, col As String: col = "C"
Set srcWS = Sheets("Sheet1")
Set desWS = Sheets("Sheet2")
With srcWS
LastRow = .Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
With .Range("A1:A" & LastRow).SpecialCells(xlCellTypeConstants)
For i = 1 To .Areas.Count
fRow = .Areas(i).Cells(1).Row
lRow = .Areas(i).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
desWS.Range(col & 3).Resize(lRow - fRow - 1).Value = srcWS.Range("C" & fRow + 2).Resize(lRow - fRow - 1).Value
col = "H"
Next i
End With
End With
Application.ScreenUpdating = True
End Sub