That piece of code sets the range to copy.

"A1" is the start of the range.

.Range("A" & Rows.Count).End(xlUp finds the last row of data in column A by going to the bottom of the column and moving upwards, just as you would do it manually with the End key.

We combine these to get a reference to the range we want to copy.

If you only want to copy from A1 down to the first occurrence of 'End' you could try something like this.
FirstEndRow = Application.Match("End",.Range("A:A"), 0)
Set rngSrc = .Range("A1:A" &FirstEndRow)
That's untested, it should work though.