Macro excel 2007 para búsqueda

Hola, buenas tardes, te comento mi problema, tengo un fichero excel 2007 y necesito una macro para buscar un dato y recuperar otro, es decir en la tabla que se va alimentando hay dos columnas, la primera "Imei" y la segunda "código desbloqueo", lo que necesito es que al pinchar el botón de de ejecución de la macro, yo meta el imei que es un valor numérico de 15 dígitos, y me devuelva el contenido de la celda que tiene al lado, que pertenece a la columna "código desbloqueo"
Ejemplo
Imei Código Desbloqueo
351234564781234 000000000000001
351235465787653 789879879879879
358798798798798 412457523576251
Espero tu respuesta, y ante todo muchas gracias.
Saludos

3 Respuestas

Respuesta
1
Aquí te dejo la rutina para buscar:
Sub search()
Dim imei As String
Dim coddes As String
    'Celda inicial de la columna imei, cambiala si no es esa
    Range("A1").Select
    imei = InputBox("ingresar Imei", "Busqueda de codigo de desbloqueo")
    While ActiveCell.Value <> ""
        If ActiveCell.Value = imei Then
            coddes = ActiveCell.Offset(0, 1).Value
            MsgBox "El codigo de desbloqueo es " & coddes, vbInformation, "Codigo de desbloqueo"
            End
        Else
            ActiveCell.Offset(1, 0).Select
        End If
    Wend
    If coddes = "" Then
        MsgBox "Codigo de desbloqueo inexistente, revise el imei", vbCritical, "Codigo de desbloqueo"
    End If
End Sub
Respuesta
1
Cambia la celda A1, por la celda en que tu tabla empieza, cualquier duda comentame.
Sub imei()
'''''''''''''''
celda = "A1" '<---cambia esta celda por la primera de tu tabla
''''''''''''''
Dim aux As String, aux2 As String
aux = InputBox("Ingrese imei", "IMEI")
f1 = Range(celda).Row
f2 = Range(celda).End(xlDown).Row
While f1 <= f2
    aux2 = Cells(f1, Range(celda).Column).Value
    If aux2 = aux Then
        MsgBox ("Codigo desbloqueo: " & Cells(f1, Range(celda).Column).Offset(0, 1).Value)
        Exit Sub
    End If
    f1 = f1 + 1
Wend
MsgBox ("Codigo inexistente")
End Sub
Respuesta
1
Traté de hacer algo general y cumplir con tus requerimientos utilizando los antecedentes que proporcionas.
Supomgamos que en la columna A tienes el Imei y en la B el Código Desbloqueo y que la hoja se llama LISTA, la macro que muestra la funcionalidad que pides o algo parecido podrías ser como sigue:
Sub buscar()
   Código = InputBox("Ingrese el código")
'Puede ser la referencia a una celda o alguna otra
                            '
Fuente de la que puedas sacar el valor (en este caso
                            'un inputbox)
   StrRango = "A:A"
'Rango en el que vas a buscar el código ejemplo A:A para buscar
                      'en toda la columna A o A1:A50 para buscar en ese rango (en este
                      'caso A:A).

   Set hojaBusq = Sheets("LISTA")
'Hoja sobre la que se realiza la busqueda (En este caso
                     'LISTA
    Set resulta = hojaBusq.Range(strRango).Find(codigo, LookIn:=xlValues, LookAt:=xlWhole)
    If Not resulta Is Nothing Then
        MsgBox Range("B" & resulta.Row)
'Resultado
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas