............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Ir a una hoja especifica de un libro

Ver el tema anterior Ver el tema siguiente Ir abajo

Ir a una hoja especifica de un libro

Mensaje por tacuara el Vie Nov 10, 2017 5:54 pm

Hola amigos, estoy elaborando una base de datos que tendrá cerca de 400 hojas. En cada una van a ir los datos de un cliente, incluyendo sus compras y los servicios que ha requerido (numero de cliente, documento, nombre, compra o servicio que se le prestó, si pagó o no). Lo que quiero es de la primera hoja poner en la celda amarilla el número de cliente y que me abra la HOJA donde está su registro. Si pongo: 1016 que abra la hoja 4.
Eventualmente, también la opción de buscar por el nombre.
Adjunto ejempo, de cómo será la base

tacuara

Masculino Cantidad de envíos : 1
Edad : 58
Ciudad - Pais : Uruguay
Version de Excel : 2010
Fecha de inscripción : 10/11/2017

Volver arriba Ir abajo

Re: Ir a una hoja especifica de un libro

Mensaje por moises melgar el Sáb Nov 11, 2017 5:43 am

Buenas noches
no se adjunto nada, para adjuntar archivos usa algun servidor de almacenamiento gratuito como onedriver, google drive, mega para guardar tus archivos en la nube y pasar el link de descarga

Para ir a una hoja especifica usando macros:
conosco la de (name), name e index
por ejemplo para ir a la tercera hoja del archivo cuyo nombre en la pestaña es nombre1 y en VBA dentro de las propiedades de la hoja dice que (name) es hoja4
se puede usar:
Sheets(3).activate'< --- tercera hoja del archivo (index)
Sheets("nombre1").activate'< --- nombre de la hoja segun la pestaña
Hoja4.activate'< --- (nombre) de la hoja como aparece en VBA

Adjunto un ejemplo (usando el index u orden de las hojas en el archivo)
en la primera hoja esta el "buscador", al presionar el boton buscar la macro hace lo siguiente (siempre que la celda no este vacia):
se busca el dato en la hoja indice, ya sea numero o nombre (columna A:B)

en la hoja indice la informacion esta ordenada segun como aparecen las hojas en el  Archivo
ejemplo:
la busqueda "1013" o "nombre1" se ubica en la fila 3 de la hoja indice, entonces la 3ra hoja del  libro  es la  hoja que buscamos (de derecha a izquierda)

si el dato buscado no aparece en la hoja indice aparece un mensaje que dice "No se encontro el dato", pero si existe el dato en el indice pero no existe una hoja creada para ese dato arroja el mensaje "NO existe la hoja del dato"

Código:
Private Sub CommandButton21_Click()
Dim d As Worksheet
Dim busqueda
On Error Resume Next

busqueda = Range("B6").Value '< --valor buscado
If busqueda <> "" Then '< --si esta vacia la hoja no buscara nada
Set c = Sheets("indice").Range("A:B").Find(busqueda)'< --es como usar el buscador de excel
   If c Is Nothing Then
   MsgBox "No se encontro el dato buscado" ' < --intruccion a realizar si no existe el dato
   Else:
       Set d = Sheets(c.Row) ' < --combino busqueda por index y fila del dato encontrado (controlar error con On Error Resume Next)
       If d Is Nothing Then
       MsgBox "NO existe la hoja del dato encontrado" ' < --intruccion a realizar si no existe la hoja
       Else:
       Sheets(c.Row).Activate '< --Ir a una hoja especifica de un libro
       End If
   End If
End If
End Sub

como explique al poder realizar la busqueda por nombre u la ubicacion en el archivo se puede modificar la macro para adaptarla al archivo
uso la busqueda dependiendo el orden de las hojas (index), por lo que mover el orden de las hojas  la busqueda se modifica, en cuyo caso la macro se puede modificar para solucionar ese detalle (las opciones son variadas)

avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 557
Edad : 29
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.