Excel VBA, pega especial

Tengo problemas con esta function de pegar, intenté algunas cosas y no puedo hacer que funcione

Aquí está el código:

Sub copy() Sheets("Sheet1").Range("A19:B19").Copy Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(4, 0).PasteSpecial Paste:= xlPasteValues End Sub 

Si saco el .PasteSpecial Paste:= xlPasteValues , copy lo que quiero, las celdas que copy es una fórmula, solo quiero el valor, lo revisé en todas partes para corregir esto, pero nada parece funcionar, o me falta alguna cosa

Gracias

Por favor, intente lo siguiente:

 Sub copy() Sheets("Sheet1").Range("A19:B19").copy Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(4, 0).PasteSpecial Paste:=xlPasteValues End Sub 

Necesita dividir su línea de código en dos declaraciones. Actualmente, está pasando el resultado de PasteSpecial a Copy, que espera un range.

Pruebe esto en su lugar:

 Sub copy() Sheets("Sheet1").Range("A19:B19").Copy Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(4, 0).PasteSpecial Paste:= xlPasteValues End Sub 

Aqui tienes:

 Sub TestMe() Sheets(1).Range("A19:B19").Copy Sheets(2).Range("A" & Rows.Count).End(xlUp).Offset(4, 0).PasteSpecial Paste:=xlPasteValues End Sub 

La mejor manera de hacer código vba, basado en funciones simples de Excel, es usar la grabadora de macros. Le dará una buena muestra, que puede optimizar más tarde. Si está utilizando el grabador de macros, asegúrese de usarlo junto a Excel, de esta forma podrá ver el código generado en time real:

enter image description here