¿Cómo buscar un valor y devolver el color de fondo junto con el valor buscado en Excel?
Supongamos que tienes una tabla como se muestra en la captura de pantalla a continuación. Ahora deseas verificar si un valor específico está en la columna A y luego devolver el valor correspondiente junto con su color de fondo en la columna C. ¿Cómo lograrlo? El método en este artículo puede ayudarte a resolver el problema.
Buscar un valor y devolver el color de fondo con el valor buscado mediante una función definida por el usuario
Por favor, sigue los siguientes pasos para buscar un valor y devolver su valor correspondiente junto con el color de fondo en Excel.
1. En la hoja de cálculo que contiene el valor que deseas buscar, haz clic derecho en la pestaña de la hoja y selecciona Ver código en el menú contextual. Ver captura de pantalla:
2. En la ventana de Microsoft Visual Basic para Aplicaciones que se abre, copia el siguiente código VBA en la ventana de Código.
Código VBA 1: Buscar un valor y devolver el color de fondo con el valor buscado
Sub Worksheet_Change(ByVal Target As Range)
Dim I As Long
Dim xKeys As Long
Dim xDicStr As String
On Error Resume Next
Application.ScreenUpdating = False
xKeys = UBound(xDic.Keys)
If xKeys >= 0 Then
For I = 0 To UBound(xDic.Keys)
xDicStr = xDic.Items(I)
If xDicStr <> "" Then
Range(xDic.Keys(I)).Interior.Color = _
Range(xDic.Items(I)).Interior.Color
Else
Range(xDic.Keys(I)).Interior.Color = xlNone
End If
Next
Set xDic = Nothing
End If
Application.ScreenUpdating = True
End Sub
3. Luego haz clic en Insertar > Módulo, y copia el siguiente código VBA 2 en la ventana del Módulo.
Código VBA 2: Buscar un valor y devolver el color de fondo con el valor buscado
Public xDic As New Dictionary
Function LookupKeepColor (ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
Dim xFindCell As Range
On Error Resume Next
Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
If xFindCell Is Nothing Then
LookupKeepColor = ""
xDic.Add Application.Caller.Address, ""
Else
LookupKeepColor = xFindCell.Offset(0, xCol - 1).Value
xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address
End If
End Function
4. Después de insertar los dos códigos, haz clic en Herramientas > Referencias. Luego marca la casilla Microsoft Script Runtime en el cuadro de diálogo Referencias – VBAProject. Ver captura de pantalla:
5. Presiona las teclas Alt + Q para salir de la ventana de Microsoft Visual Basic para Aplicaciones y regresar a la hoja de cálculo.
6. Selecciona una celda en blanco adyacente al valor buscado, y luego ingresa la fórmula =LookupKeepColor(E2,$A$1:$C$8,3) en la Barra de fórmulas, y presiona la tecla Enter.
Nota: En la fórmula, E2 contiene el valor que deseas buscar, $A$1:$C$8 es el rango de la tabla, y el número 3 significa que el valor correspondiente que deseas devolver se encuentra en la tercera columna de la tabla. Por favor, cámbialos según sea necesario.
7. Mantén seleccionada la primera celda de resultado y arrastra el controlador de relleno hacia abajo para obtener todos los resultados junto con su color de fondo. Ver captura de pantalla.
Artículos relacionados:
- ¿Cómo copiar el formato de origen de la celda buscada al usar BuscarV en Excel?
- ¿Cómo buscar un valor y devolver el formato de fecha en lugar de un número en Excel?
- ¿Cómo usar BuscarV y Sumar en Excel?
- ¿Cómo hacer una búsqueda y devolver el valor en la celda adyacente o siguiente en Excel?
- ¿Cómo buscar un valor y devolver verdadero o falso / sí o no en Excel?
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!