Вы получаете эту ошибку, потому что Worksheets (sheetTo) не является активным листом, когда вы пытаетесь вставить его.
Если вы добавите строку в свой код
Worksheets(sheetFrom).Cells(fromRow, fromCol).Copy
Worksheets(sheetTo).Activate
Worksheets(sheetTo).Cells(toRow, toCol).Select
ActiveSheet.Paste Link:=True
это работает.
Изменить, чтобы ответить на ответ исполнителя музыки:
Вставить ссылку, насколько я могу судить, работает только с Worksheet.Paste, а не Range.Paste. Worksheet.Paste вставляет ссылку в активную ячейку. Несмотря на то, что я согласен с вами, что следует избегать Select, использование этого типа кода, по-видимому, требует этого.
Другой альтернативой может быть создание формулы вместо вставки ссылки:
Worksheets(sheetTo).Cells(toRow, toCol).Formula = _
"=" & Worksheets(sheetFrom).Name & "!" & Worksheets(sheetFrom).Cells(fromRow, fromCol).Address