Por medio de un textbox1 me busque en una hoja de excel

buen dia

Me podrían ayudar lo que quiero hacer es que en un textbox 1 tecleo un folio y lo busque en una hoja y al encontrarlo me traiga un textbox2 el nombre de la persona que tiene ese folio.

Respuesta
1

Me puedes dar los siguientes datos, para generar le código de la macro.

- Nombre del libro y de la hoja

- Columna dónde esta el folio

- Columna dónde esa el nombre

- ¿Tienes un commandbutton para decirle que vaya y busque el nombre?

- El nombre del libro es Reporte psicométrico RI-CANDIDATOS

- La hoja es Candidato

- La columna del folio es b6:b100

- La columna del nombre esc6:c100

Si tengo un commandbutton para hacer la búsqueda

Gracias de antemano.

Te envío el código que debes poner dentro de tu formulario

Private Sub CommandButton1_Click()
‘Busca un folio
‘Por. Dam
Set wl = Workbooks("Reporte psicométrico RI-CANDIDATOS")
Set wh = wl.Worksheets("Candidato")
    Range("B5:B100").Select
    Set RangoObj = Selection.Find(What:=TextBox1, _
        After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    If RangoObj Is Nothing Then
        MsgBox ("Folio no encontrado: " & TextBox1)
    Else
        TextBox2.Value = RangoObj.Offset(0, 1)
    End If
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1 = "" Then
    MsgBox "Entre número de folio"
    Cancel = True
End If
End Sub

Saludos.Dam

al ejecutarlo me marca error de compilación no se a definido las variables y se sombrea wl

Set wl = Workbooks("Reporte psicométrico RI-CANDIDATOS")

pero si la declaro como variable me marca el error de compilación se requiere un objeto

Verifica que tu libro se llame así

Set wl = Workbooks("Reporte psicométrico RI-CANDIDATOS")

Ese es el nombre que tú me diste .

Saludos. Dam

Si ese es de hecho la ruta es

c:\Mis documentos\Escritorio\Reporte psicométrico RI-CANDIDATOS.xls

Borra estas 2 líneas de la macro y prueba

Set wl = Workbooks("Reporte psicométrico RI-CANDIDATOS")
Set wh = wl.Worksheets("Candidato")

Saludos. Dam

al quitarlas ahora me marca que no se ha definido las variables de RangoObj =

Borraste una línea de más, borraste esta línea

Range("B5:B100").Select

Revisa la macro original y la que ahora tienes y notarás que la borraste.

Saludos. Dam

Asi lo tengo

Private Sub CommandButton6_Click()
Sheets("candidatos").Visible = True
Range("B5:B100").Select
Set RangoObj = Selection.Find(What:=TextBox19, _
After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If RangoObj Is Nothing Then
MsgBox ("Folio No Encontrado: " & TextBox19)
Else
TextBox20.Value = RangoObj.Offset(0, 1)
End If
Sheets("candidatos").Visible = False
End Sub

¿Estás seguro que tu hoja se llama candidatos? Revisa bien el nombre

Si ocultas la hoja no encuentra nada.

Cambia esta línea

Sheets("candidatos").Visible = True

por esta

Sheets("candidatos").select

y borra esta

Sheets("candidatos").Visible = False

Termina de probar mi macro y luego le cambias todo lo que quieras

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas