Как уже упоминалось, вам нужно воспроизвести пользовательский формат чисел, который заставляет начальные нули из источника.
Вам также нужно изменить форму цели до того же размера, что и источник. Использование lastRow для обоих работает только тогда, когда они начинаются с одной и той же строки (чего нет в вашем примере).
Set wb = ThisWorkbook
Set src = wb.Sheets("sheet1")
Set tgt = wb.Sheets("sheet2")
with src
lastRow = .Range("A" & .Rows.Count).End(XLUP).Row '<~~ xlUp, not xlDown
with .Range("A5:A" & lastRow)
tgt.Range("E43").resize(.rows.count, .columns.count) = .Value2
tgt.Range("E43").resize(.rows.count, .columns.count).numberformat = "00000000"
end with
end with