MACRO PARA INMOVILIZAR PARTE DE UNA HOJA EXCEL

Hace unos días estuve realizando un pequeño programa que interactuaba en una hoja Excel. Como no estaba utilizando userforms, resulta que el “cuadro de mando” del programa se movía en función de si me desplazaba por la hoja o si movía la rueda del ratón.

Para evitar que la hoja se mueva y fijar solo la parte que te interesa mostrar, os dejo una pequeña macro que funciona cuando abres tu trabajo:

Private Sub Workbook_Open()
Sheets("Portada").ScrollArea = "A2:M45"
End Sub

Esta macro inmoviliza la hoja “Portada” en el área entre A2 y M45, no permitiendo movimientos en horizontal ni vertical.

Por cierto, debéis colocarla en el modulo: “ThisWorkbook”.

Espero que os sirva a la hora de presentar vuestros programas.

Saludos 😉

Descarga el archivo pulsando enINMOVILIZAR HOJA

Anuncios

12 pensamientos en “MACRO PARA INMOVILIZAR PARTE DE UNA HOJA EXCEL

  1. hola buenas, un gusto saludarte, mi aprecio y respeto, quiero consultar lo siguiente: tengo una hoja excel 2013 cualquiera y debo llenarla de datos y necesito de que al salir de esta hoja de datos, todas las filas con datos se bloqueen (con una clave) y cuando vuelva a entrar a esta hoja las filas con datos anteriores esten bloqueados con clave (y no puedan modificar, ni editar, si pueda sumar ordenar copiar) y se pueda continuar escribiendo en las siguientes filas datos nuevos. la hoja debiera estar protegida solo a la modificacion con una contraseña al igual que el editor del viausl basic . quedo muy agradecido de antemano gracias atte enpabu@yahoo,es

    Me gusta

    • Hola Enrique:

      Prueba pegando esté código en el editor de VBA en ThisWorkBook.

      Private Sub Workbook_SheetActivate(ByVal Sh As Object)
      Cells.Select
      With Selection
      Control = Application.CountA(Selection)
      End With
      ActiveSheet.Unprotect ("123")
      Selection.Locked = False
      If Control > 0 Then
      ActiveSheet.Columns.SpecialCells(xlCellTypeConstants, 23).Select
      Selection.Locked = True
      ActiveSheet.Protect ("123")
      End If
      End Sub

      Espero que te sea de utilidad. Saludos.

      Me gusta

  2. Hola. Tengo una duda. ¿cómo puedo hacer lo mismo pero con dos o más rangos no adyacentes?. Ejemplo si quiero que sea desde A1:B5 pero también A8:B12.

    Me gusta

    • Hola Luis:

      No es posible asignar al scrollarea dos rangos diferentes. No sé exactamente a que te refieres, pero desde luego el area del scroll no se puede aplicar en varios rango simultáneamente.

      Saludos.

      Me gusta

    • Hola Luis:

      Si sigues las instrucciones podrás bloquear la parte que especifiques de tu hoja excel o de varias. Otra cosa es que quieras bloquear la hoja completa para que no se pueda modificar, en ese caso es otra cosa distinta a la que explico en el post y lo deberías hacer a través de la pestaña Seguridad de tu archivo de Excel.

      Saludos.

      Me gusta

  3. Hola como estas:
    Ya genere la Macro y al momento de darle ejecutar me funcionan, pero al momento de abrir mi archivo y volverlo abrir ya no se realiza la acción de que se quede inmovilizado el área que necesito.¿Que función requiero para que al momento de abrir mi documento excel trabaje esta macro? saludos

    Me gusta

¿Te ha gustado?, Realiza un comentario.

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.