Excel activar hoja

De nuevo yo, esta era mi pregunta. Necesito con un cuadro de dialogo ingresar el nombre de una hoja y que dicha hoja se active. Luego si ingreso el nombre de otra hoja en el cuadro de dialogo que se active esa otra hoja. Muchas gracias por su atención espero su respuesta.
Vos me respondiste con esto
Private Sub CommandButton1_Click()
Name1 = InputBox("Ingresa el Nombre de la Hoja a Copiar", "AVISO")
    Sheets(Name1).Select
    Cells.Select
    Selection.Copy
    Name2 = InputBox("Ingresa el Nombre de la Hoja a donde se Copiara", "AVISO")
    Sheets(Name2).Select
    Cells.Select
    ActiveSheet.Paste
    Cells(1, 1).Select
End Sub
Primero me funciono pero ahora me de un error en Cells. Select me dice que es el metodo de seleccion.

1 respuesta

Respuesta
1
Seria algo así:
Sub ir()
Name1 = InputBox("Ingresa el Nombre de la Hoja a Ubicar", "AVISO")
    Sheets(Name1).Select
End sub
Bien eso funciona de maravillas, ahora yo quiero:(es otro caso similar) copiar el contenido de otro libro que ya lo tengo abierto. Es decir por ejemplo: yo estoy trabajando en libro1 y en la hoja1 y quiero seleccionar el contenido de la hoja1 pero del libro2 y pegarlo en el libro1 hoja2. Esto lo quiero hacer con una macros y si se puede con un cuadro de dialogo donde pueda ir seleccionando el libro y la hoja. Espero haber sido claro y disculpa tanta molestia pero lo necesito con urgencia. Muchas gracias.
Ok mira prueba este código:
Sub copia()
    Name1L = InputBox("Ingresa el Nombre del Libro a Usar", "AVISO")
    Name1S = InputBox("Ingresa el Nombre de la Hoja a Ubicar", "AVISO")
    Windows(Name1L). Activate
    Sheets(Name1S).Select
    Cells.Select
    Selection. Copy
    Nombre1L = InputBox("Ingresa el Nombre del Libro a Ubicar", "AVISO")
    Nombre1S = InputBox("Ingresa el Nombre de la Hoja a Ubicar", "AVISO")
    Windows(Nombre1L).Activate
    Sheets(Nombre1S).Select
    Cells.Select
    ActiveSheet.Paste
    Cells(1, 1).Select
End Sub
Primero: Estas en el Libro1 estas en la hoja que desees pero del libro1, después imaginate que abres un libro2 y quieres copiar la hoja3 del libro 2 a la hoja2 del libro1
Lo que tienes que hacer es estando en el libro1 ejecutas al macro y te pedirá 2 cosas el nombre del libro y la hoja de ese libro que deseas copiar, luego te volverá a pedir 2 cosas el libro a donde lo quieres copiar y el nombre de la hoja a donde deseas copiar.
Perdona, de nuevo yo. Copie el código tal cual, pero hay un problema. Ingreso el nombre del libro, luego ingreso el nombre de la hoja a ubicar, pero luego me sale un cartel de error 400. Disculpa tanta molestia.
Puede deberse a esto:
1. Recuerda que tus 2 hojas que se van a relacionar debende estar abiertas ambas.
2. Puede ser que las extensiones de tus archivos se estén visualizando también tendrías que ver las extensiones: por ejemplo si el libro de excel tienen el nombre de QUESO.xls enteonces tendrías que colocarle en nombre del libro "QUESO.xls" y luego el nombre de la hoja, lo mismo cuando quieres traer nuevamente.
He probado el cogido y no me arroja ningún error, me confirmas cualquier cosa:
Sub copia()
    Name1L = InputBox("Ingresa el Nombre del Libro a Usar", "AVISO")
    Name1S = InputBox("Ingresa el Nombre de la Hoja a Ubicar", "AVISO")
    Windows(Name1L). Activate
    Sheets(Name1S).Select
    Cells.Select
    Selection. Copy
    Nombre1L = InputBox("Ingresa el Nombre del Libro a Ubicar", "AVISO")
    Nombre1S = InputBox("Ingresa el Nombre de la Hoja a Ubicar", "AVISO")
    Windows(Nombre1L).Activate
    Sheets(Nombre1S).Select
    Cells.Select
    ActiveSheet.Paste
    Cells(1, 1).Select
End Sub
Hola amigo me sigue dando error, efectivamente el libro que quería activar tenia el nombre con la extensión, pero igual no me funciona me dice subíndice fuera del intervalo. Ademas la extensión del libro que deseo activar para copiar la hoja es Nombre.dat ¿esto no influye? Bueno si no hay otra variante te agradezco igual por la información.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas