Buscar e ir a una determinada celda (EXCEL)

Espere que se encuentren bien todo, mi pregunta es la siguiente:

En Excel hay una herramienta que permite buscar y reemplazar con las teclas Ctrl+b, en donde el cual puedes modificar el datos o buscarlo dentro de la celda; necesito esa aplicación en un botón, macro, etc.

En mi caso estoy trabajando con una lista de alumnos y son muchos y me dificulta buscar el nombre de los alumnos, me conformo que lo encuentre la celda donde está el nombre que busco.

Ojo que mi lista está en una sola hoja no está en hojas distintas.

1 respuesta

Respuesta
2

¿Quieres buscar y reemplazar o solamente buscar?

¿Exactamente cómo quieres la herramienta?

Me interesa que lo busque eso es lo que más importante si es posible o si se puede hacer, también que modifique; eso lo puse de ejemplo el BUSCADOR DEL OFFICE, presionando “CTRL+B” automáticamente pillas las palabras o la que se asemejan… tengo muchos datos y esta aplicación, macro, fórmula, etc. me evite perder tiempo…

Gracias por tu tiempo DANTE….

¿Pero lo que quieres qué diferencia tendría con el ctrl+B?

Es decir, tienes que explicarme cuál es tu idea, esto es lo que tiene el Ctrl+B, tiene una caja donde escribes lo que vas a buscar y un botón para buscar siguiente.

¿Qué es lo que quieres?

Solamente dices esto: "me conformo que lo encuentre la celda donde está el nombre que busco"

O dices esto: "Me interesa que lo busque"

No sé si me explico, el Ctrl+B tiene una caja en donde pones lo que quieres buscar, en la macro que quieres, ¿en dónde quieres poner la caja?

Me puedes decir, ¿lo qué necesitas qué diferencia tiene con el "Buscar y reemplazar de excel"?

En este caso trabajando con BUSCARV; solo se buscaría con código (número) y aparecería el nombre; pero uno no sabría cómo encontrar al alumno ya que solo se buscaría con su número de registro.

Yo lo que quiero es buscar por el nombre y en la celda siguiente o la de abajo me indique que numero o ID tiene.

Formulario principal

Mi ejemplo:

Bro no tienes facebook o skype para que nos entendamos bien... gracias...

¿Quieres escribir el nombre "Pedro" en la celda AC7 y que en la celda AC8 te ponga el ID?

Pero si en la lista tienes 3 Pedro, ¿cuál de los 3 ID quieres que te ponga?

Espero tus comentarios.

Envíame tu archivo y me pones ejemplos claros de lo que esperas como resultado.

Bueno en eso estaba pensando también, haber y si hay alguna forma de buscar uno por uno hasta pillar a la persona, como el buscador de office; buscarlo en todo el libro hasta pillarlo. Olvidando esa opción que tocamos de los ID.

El motivo que no quiero utilizar el buscador de office es que este libro de Excel  son para personas mayores de edad con poco conocimiento de las abreviación es de Windows o Office. Y el tener alguna forma fácil para ellos

Más o menos ya entendí lo que necesitas. Envíame tu archivo y te pongo una alternativa.

https://mega.co.nz/#!LgskHYqC!A-m7ymB50FYQYtfhW7INZwa1t27NnB3ejJTsE4d83Ks

https://mega.co.nz/#!LgskHYqC!A-m7ymB50FYQYtfhW7INZwa1t27NnB3ejJTsE4d83Ks

No puedo descargar el archivo, me pide una clave

Me enviaste un archivo de 13 megas pero sin datos, no puedo hacer pruebas, ni siquiera viene el ejemplo de prueba "Pedro".

Podrías poner un archivo con datos pero que no sea de 13 megas, puedes enviarme solamente la estructura y unos ejemplos.

El ultimo link funciona bien, el primero no sirve....

Listo, si te fijas donde hay que escribir nombre solo acepta el ID del alumno y aparece el nombre pero yo quiero al revés, poner el nombre y que aparezca el ID donde se encuentra. Aquí esta el archivo completo:

https://mega.co.nz/#!us0z3a7J!Zsr4du3LlO80Uz5xfrwfvcksO-z2JvsdCvkw68_Iq-E 

Esta macro la tienes que poner en los eventos de worksheet

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("AC7")) Is Nothing Then
        [AC8] = ""
        [AE8] = ""
        buscar
    End If
End Sub

Esta macro la puedes poner en el módulo 1

Sub buscar()
'Por.Dante Amor
    ini = [AC8]
    Do While True
        u = Range("A" & Rows.Count).End(xlUp).Row
        Set r = Range("A" & 17 + ini & ":D" & u)
        Set b = r.Find([AC7], LookAt:=xlPart)
        If Not b Is Nothing Then
            [AC8] = Cells(b.Row, "A")
            [AE8] = Cells(b.Row, "B")
            Exit Do
        Else
            If [AC8] > 0 Then
                ini = 0
            Else
                Exit Do
            End If
        End If
    Loop
End Sub

La macros funcionan así, captura un nombre o unas letras de un nombre en la celda AC7, por ejemplo escribe las letras "torr", presiona enter, se activa la macro y busca el primer nombre que tenga las letras "torr", te pone el ID y el NOMBRE COMPLETO; si quieres ir al siguiente nombre tienes que presionar el botón "Siguiente". Si existe otra coincidencia, te pone el ID y el NOMBRE COMPLETO, si ya no hay más coincidencias te vuelve a poner el primer nombre que encontró. Para buscar otro ID y su nombre, escribe unas nuevas letras en la celda AC7.

Te anexo el archivo con las macros para que veas cómo quedaron las celdas.

https://www.dropbox.com/s/0zy46ey2nk4aj9x/Notas%20dam2.rar?dl=0 


Gracias DANTE por tu ayuda grandiosa de la que me salvaste bro, una pregunta más como hacer para en todas las celdas automáticamente sean mayúsculas; tenia un código que automáticamente que lo hacia pero era muy largo y complicado hacerlo en cada celda...

Con gusto te ayudo con tus dudas, podrías valorar esta respuesta y crear una pregunta nueva por cada petición. Si gustas al final del título de la nueva pregunta escribe que va dirigida a Dante Amor.

Al final de mi respuesta dice: “Es una buena respuesta” y puedes seleccionar una de 3 opciones:

  • Excelente
  • Si
  • No

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas