Perhaps your code is behind Sheet1, so when you change the focus to Sheet2 the objects cannot be found? If that’s the case, simply specifying your target worksheet might help:
Sheets("Sheet1").Range("C21").Select
I’m not very familiar with how Select works because I try to avoid it as much as possible :-). You can define and manipulate ranges without selecting them. Also it’s a good idea to be explicit about everything you reference. That way, you don’t lose track if you go from one sheet or workbook to another. Try this:
Option Explicit Sub CopySheet1_to_PasteSheet2() Dim CLastFundRow As Integer Dim CFirstBlankRow As Integer Dim wksSource As Worksheet, wksDest As Worksheet Dim rngStart As Range, rngSource As Range, rngDest As Range Set wksSource = ActiveWorkbook.Sheets("Sheet1") Set wksDest = ActiveWorkbook.Sheets("Sheet2") 'Finds last row of content CLastFundRow = wksSource.Range("C21").End(xlDown).Row 'Finds first row without content CFirstBlankRow = CLastFundRow + 1 'Copy Data Set rngSource = wksSource.Range("A2:C" & CLastFundRow) 'Paste Data Values Set rngDest = wksDest.Range("A21") rngSource.Copy rngDest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'Bring back to top of sheet for consistancy wksDest.Range("A1").Select End Sub