Tengo la siguiente macro en excel:
Sub Macro()
Dim valor As Variant
Dim celda As Range
valor = Application.IfError(Application.VLookup(Range("F2:f430"), Sheets("Hoja1").Range("D2:BC429"), 32, False), _
Application.VLookup(Range("F2:f430"), Sheets("Hoja2").Range("F2:U430"), 16, False))
Range("u2:u430").Value = valor
For Each celda In Range("U2:U430")
If IsError(celda.Value) Then
If celda.Value = CVErr(xlErrNA) Then
celda.Value = ""
End If
End If
Next celda
End Sub
-1 Hoja principal de lista de precios que contiene 2 Hojas del cual se buscan y se extraen datos
-La macro es para actualizar precios, los precios se sustituirán o actualizarán buscando la clave del producto dentro del rango f2:f340 de la Hoja principal y los buscará en la Hoja1 y sino está ahí se va a la Hoja2
En algunas celdas del rango f2:f340 de la hoja principal no tienen clave pero si precio en el rango u2:u340
Al momento de ejecutar la macro me extrae y actualiza sustituyendo el precio en el rango u2:u340... Sino encuentra clave en el rango f2:f340 devuelve un #N/D pero me borra el precio que contenía el producto sin clave de la Hoja principal
¿Cómo agregar condición el cual si en el rango f2:f340 de la Hoja principal que no contengan clave respete o no elimine por un #N/D el precio que contenía inicialmente del rango u2:u340?