Macro Visual Basic Error al pegar datos en otra hoja si no hay nada que pegar después de filtrar
Tengo una macro que filtra en Hoja2 por dos tipos de productos, el producto A lo pega en "plantillauno" y el el producto B lo pega en "plantillados". El problema es que cuando hace el filtro si no existen algunos de esos productos (A o B) en la plantilla me pega la cabecera de cada campo. Y tengo puesto que copie desde la segunda Celda. No entiendo qué pasa! He probado a poner un If con If ultimafila > 1 que copie y pegue y sino pues que no haga nada, pero no lo tiene en cuenta.
Application.DisplayAlerts = True
' Copia/Pega un rango filtrado.
'Filtramos datos PRODUCTO A
'Quitamos filtro si lo hay
If Worksheets("Hoja2").FilterMode Then Worksheets("Hoja2").ShowAllData 'Quitamos el filtro
'filtramos
Worksheets("Hoja2").Range("AQ1").AutoFilter Field:=43, Criteria1:="A"
Dim UltimaFila As Long
'vamos copiando cada columna de Hoja2 y Rellenamos PlantillaUNO
'Para pegar los datos de las columnas C
Sheets("Hoja2").Activate
Let UltimaFila = Worksheets("Hoja2").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Hoja2").Range("AT2:AT" & UltimaFila).Copy Destination:=Worksheets("PlantillaUNO").Cells(7, 3)
'Para pegar los datos de las columnas H(...) (Etc. Y así con cada columna, el código es el mismo)
Cuando existen registros, copia desde hoja2 fila 2 (Range("AT2:AT" & UltimaFila). Copy) y lo pega en la fila 7 de la plantilla (Destination:=Worksheets("PlantillaUNO").Cells(7, 3)). Pero si no hay datos en el filtro, copia desde hoja2 fila1 y lo pega en la fila 6 de la plantilla. No entiendo qué sucede...
¿O algún modo de que me funcione el IF ultimafila > 1?
¿Alguna sugerencia?