¿Cómo hacer una macro en una hoja oculta?

Quiero copiar parte de una hoja, en otra hoja que la necesito oculta, todo esto mediante una macro. ¿Cómo podría hacerlo?.

2 respuestas

Respuesta
1

Tienes que hacer visible la hoja pegar los datos y luego volverla a ocultar =)

Un ejemplo

Quieres copiar el rango "A2:D10" de la hoja2 al rango "A2:D10" de la hoja 4 la cual esta oculta

Seria algo asi

Sub CopiarDatos()
Set h1 = Sheets("hoja2")
Set h2 = Sheets("hoja4")
    h1.Select
    Range("A2:D10").Copy
    Hoja4.Visible = xlSheetVisible
    h2.Select
    Range("A2").Select: ActiveSheet.Paste
    Hoja4.Visible = xlSheetVeryHidden
End Sub

con "xlSheetVisible" la haces visible

Con "xlSheetHidden" la haces oculta pero la puedes volver a mostrar desde la opcion "Mostrar hoja"

Con "xlSheetVeryHidden" la haces oculta y solo la puedes hacer visible con "xlSheetVisible"

Si te fue util la info no olvides valorar la respuesta y cerrar la pregunta

Si quieres evitar el pantallazo que hace aveces usa

Application.ScreenUpdating = False 'Despues del Sub CopiarDatos()
Application.ScreenUpdating = True 'Antes del End sub
Respuesta
1

Solamente tienes que hacer referencia a las hojas.

Te anexo 3 ejemplos para hacer referencia a las hojas, pueden estar ocultas, la información se copia y se pega sin necesidad de seleccionar cualquiera de las hojas. Incluso las 2 hojas pueden estar ocultas.

Sub Copiar_Datos_1()
    Sheets("Hoja1").Range("A1:B5").Copy Sheets("Hoja2").Range("A1")
    MsgBox "Datos copiados"
End Sub


Sub Copiar_Datos_2()
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    h1.Range("A1:B5").Copy h2.Range("A1")
    h1.Range("C7:D25").Copy h2.Range("A7")
    MsgBox "Datos copiados"
End Sub


Sub Copiar_Datos_3()
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    h1.Range("A1:B5").Copy
    h2.Range("A1").PasteSpecial xlValues
    MsgBox "Datos copiados"
End Sub

Nota: Si alguna hoja está protegida, entonces primero hay que desproteger y después proteger.


[No olvides valorar la respuesta.

Muchas gracias por todo

Avísame cualquier duda

.[No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas