Buscar dentro de un rango la celda que contenga texto

Tengo un rango de datos que va desde AD9:GG9, lo que necesito es recorrer ese rango y poner en otra celda el valor de la celda que contenga texto en este caso son iniciales de nombres ej: DC, HS, JJ, DG etc... Estas iniciales solo aparecen un vez dentro del rango.

1 respuesta

Respuesta
1

¿Los datos a buscar están dentro de una cadena de texto o son datos completos que están en cada celda?. Puede subir una imagen de sus datos para buscar una solución más precisa a lo que necesita.

Gracias experto son datos completos que están en una celda

Intente con esta macro, es un ejemplo de buscar un dato y poner el resultado en otra celda, no se me ocurre otra forma porque no se como esta su información y donde necesita tener el resultado, espero le ayude, cualquier cosa comenta.

Sub buscar()
DatoBuscar = Range("AD2").Value
    For i = 30 To 189
        If DatoBuscar = Cells(9, i).Value Then
            Range("AD5").Value = Cells(9, i).Value
            Exit Sub
        End If
    Next i
End Sub

¡Gracias! muchas gracias experto funciona muy bien la macro..pero lo que necesito no es buscar un dato de acuerdo a una celda sino que al recorrer el rango me ponga el cualquier celda el dato encontrado sin la necesidad de compararlo con otro...! saludos desde chile

No me queda muy claro, pero si comparte una imagen de lo que necesitar y explicar ahí, sera posible encontrar una solución.

Gracias nuevamente... destaque con rojo el resultado, si te fijas en la columna GA aparece "HS"... por lo tanto en la columna operador debería aparecer también "HS"..

Dígame si entendí bien, al recorrer las columnas AD9:GG9 existen diversos datos: números como se precia en la imagen y veo una columna que dice Oper. Día, Oper. Noche, ¿lo qué le interesa es obtener las iniciales del Operador?.

Por otro lado veo que esta por día, entonces si en diversos días existen datos del operador, ¿cómo sabe el dato que se obtendrá?

Exactamente eso es lo que quiero.. obtener las iniciales del operador... el operador solo estará un vez en el rango señalado

Intente con esta macro

Sub buscarDato()
Dim Celda As Range
Range("AD9:GG09").Select
    For Each Celda In Selection
        If TypeName(Celda.Value) = "Integer" Or TypeName(Celda.Value) = "Double" Or Celda.Value = "" Then
        Else
            Range("GI9").Value = Celda.Value
        End If
    Next Celda
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas