Sub CopyColumns()
Dim col As Range
With Sheets("Sheet2")
.Range("B1").Value = 1
For Each col In Sheets("Sheet1").Range("A1").CurrentRegion.Offset(1).Columns
col.Copy Destination:=.Range("A" & Rows.Count).End(xlUp).Offset(1)
.Range("B2:B" & .Range("A" & Rows.Count).End(xlUp).Row).SpecialCells(xlBlanks).Value = col.Cells(0).Value
Next col
.Rows(1).Delete
End With
End Sub