Hello everyone,

I have 4 different sheets in one workbook from which I need to copy the first 5 columns. Not entirely though, only the rows that contain values (i.e. not the rows with all errors or all zeros). Note that these rows are all at the bottom of the sheets. Then I need to paste these values all in one "consolidated" sheet. I have done it the following way:

i = 2
Do Until IsError(fcst.Cells(i, 1)) And IsError(fcst.Cells(i, 2)) And IsError(fcst.Cells(i, 4))

conso.Range("A65536").End(xlUp).Offset(1, 0) = fcst.Cells(i, 1).Value
conso.Range("B65536").End(xlUp).Offset(1, 0) = fcst.Cells(i, 2).Value
conso.Range("C65536").End(xlUp).Offset(1, 0) = fcst.Cells(i, 3).Value
conso.Range("D65536").End(xlUp).Offset(1, 0) = fcst.Cells(i, 4).Value
conso.Range("E65536").End(xlUp).Offset(1, 0) = fcst.Cells(i, 5).Value

i = i + 1

Loop

And I did the same for the three other pages (--> four loops in a row)

(n.b: I defined all my sheets at the beginning of the code like such:
Set conso = Sheets("Consolidation")
Set fcst = Sheets("Forecast Formatted")
Set budget = Sheets("Budget Formatted")
Set act = Sheets("Actuals Formatted")
Set PFYact = Sheets("PastFYActualsFormatted"))

My problem is that when I run the macro, it takes an incredibly long time. My question, therefore, is whether there is something I could do to my code to make more efficient/faster, or if it may be that my computer is slow or something.

Thanks for any help,

Corentin