¿Cómo copiar el formato de la celda de origen al usar BUSCARV en Excel?
En artículos anteriores, explicamos cómo conservar el color de fondo al buscar valores con BUSCARV en Excel. En este artículo, le presentamos un método para copiar todo el formato de la celda del resultado al utilizar BUSCARV en Excel. Siga estos pasos.
Copiar el formato de origen al usar BUSCARV en Excel con una función definida por el usuario
Copiar el formato de origen al usar BUSCARV en Excel con una función definida por el usuario
Supongamos que tiene una tabla como la que se muestra en la siguiente captura de pantalla. Ahora necesita comprobar si un valor especificado (en la columna E) aparece en la columna A y, en ese caso, devolver el valor correspondiente con su formato desde la columna C. Siga estos pasos para lograrlo.

1. En la hoja de cálculo que contiene el valor que desea buscar con BUSCARV, haga clic con el botón derecho en la pestaña de la hoja y seleccione Ver código en el menú contextual. Vea la captura de pantalla:

2. En la ventana de Microsoft Visual Basic para Aplicaciones que se abre, copie el siguiente código VBA en la ventana de código.
Código VBA 1: BUSCARV y Valor de devolución con formato
Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20211203
Dim I As Long
Dim xKeys As Long
Dim xDicStr As String
On Error Resume Next
Application.ScreenUpdating = False
Application.CutCopyMode = False
xKeys = UBound(xDic.Keys)
If xKeys >= 0 Then
For I = 0 To UBound(xDic.Keys)
xDicStr = xDic.Items(I)
If xDicStr <> "" Then
Set xRg = Application.Range(xDicStr)
xRg.Copy
Range(xDic.Keys(I)).PasteSpecial xlPasteFormats
Else
Range(xDic.Keys(I)).Interior.Color = xlNone
End If
Next
Set xDic = Nothing
End If
Application.ScreenUpdating = True
Application.CutCopyMode = True
End Sub
3. A continuación, haga clic en Insertar > Módulo y copie el siguiente código VBA 2 en la ventana del módulo.
Código VBA 2: BUSCARV y Valor de devolución con formato
Public xDic As New Dictionary
'Update by Extendoffice 20211203
Function LookupKeepFormat(ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
Dim xFindCell As Range
On Error Resume Next
Application.ScreenUpdating = False
Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
If xFindCell Is Nothing Then
LookupKeepFormat = " "
xDic.Add Application.Caller.Address, " "
Else
LookupKeepFormat = xFindCell.Offset(0, xCol - 1).Value
xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address(External:=True)
End If
Application.ScreenUpdating = True
End Function 4. Haga clic en Herramientas > Referencias. A continuación, marque la casilla de Microsoft Script Runtime en el cuadro de diálogo Referencias: VBAProject. Vea la captura de pantalla:

5. Pulse las teclas Alt + Q para cerrar la ventana de Microsoft Visual Basic para Aplicaciones.
6. Seleccione una celda vacía adyacente al valor buscado e introduzca la fórmula =LookupKeepFormat(E2,$A$1:$C$8,3) en la Barra de fórmulas y, a continuación, pulse la tecla Entrar.

Nota: En la fórmula, E2 contiene el valor que va a buscar, $A$1:$C$8 es el rango de la tabla y el número 3 indica que el valor correspondiente que se devolverá se encuentra en la tercera columna de la tabla. Modifíquelos según sus necesidades.
7. Mantenga seleccionada la primera celda de resultado y arrastre el controlador de relleno hacia abajo para obtener todos los resultados con su formato, tal como se muestra en la siguiente captura de pantalla.


Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Artículos relacionados:
- ¿Cómo usar BUSCARV para devolver tanto el valor buscado como su color de fondo en Excel?
- ¿Cómo usar BUSCARV para que devuelva un formato de fecha en lugar de un número en Excel?
- ¿Cómo usar BUSCARV y SUMA en Excel?
- ¿Cómo usar BUSCARV para obtener el valor de la celda adyacente o siguiente en Excel?
- ¿Cómo buscar un valor con BUSCARV y obtener como resultado VERDADERO o FALSO, o bien SÍ o NO, en Excel?
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos