Jump to content

Cómo anular SmallScroll


Recommended Posts

Pues eso... Digamos que tengo una hoja repleta de botones con macros y quiero dejarla estática, es decir, que el usuario no se pueda desplazar a través de ella haciendo uso de la ruleta del mouse.

Supongo que existirá alguna manera más sencilla de programarlo, pero pienso que lo más lógico sería anular la propiedad SmallScroll del objeto Windows.

Muchas gracias de antemano por vuestro tiempo.

Link to comment
Share on other sites

Otra opción es ocultar las filas y columnas que no se usen (desde la última celda llena hasta la última fila/columna de la hoja de Excel. Eso funciona para que el usuario no pueda moverse usando el teclado.

Si es necesario hacerlo con el mousewheel entonces creo que la mejor opción es la inmovilización como dice el maestro Antoni

Edited by DiegoPC
Link to comment
Share on other sites

En 1/7/2021 at 4:45 , paikerr dijo:

Pues eso... Digamos que tengo una hoja repleta de botones con macros y quiero dejarla estática, es decir, que el usuario no se pueda desplazar a través de ella haciendo uso de la ruleta del mouse.

También puedes configurar la hoja desde las propiedades en el proyecto VBA

Mira la imagen

image.png

 

Saludos 

Link to comment
Share on other sites

Posted (edited)
En 7/7/2021 at 7:24 , Gerson Pineda dijo:

También puedes configurar la hoja desde las propiedades en el proyecto VBA

Mira la imagen

image.png

 

Saludos 

Grande, @Gerson Pineda.

 

A veces la solución más sencilla está justo delante de mis narices... y no lo vi!

Le puse $A$1, y se queda la hoja estática.

Era justo lo que estaba buscando.

 

Muchísimas gracias por el detalle.

Edited by paikerr
Link to comment
Share on other sites

Hace 12 horas, paikerr dijo:

A veces la solución más sencilla está justo delante de mis narices... y no lo vi!

Le puse $A$1, y se queda la hoja estática.

Era justo lo que estaba buscando.

Si es una solución simple, pero que a mi llevo un tiempo detectarla [hace unos par de años], especialmente porque no había tenido la necesidad que tu, ahora tienes

Y no es necesario que pongas el símbolo dólar, con solo digitar A1:A10 y dar intro, Excel lo deja fijo y pone los signos 

 

Saludos a todos!

Link to comment
Share on other sites

En 9/7/2021 at 23:50 , Gerson Pineda dijo:

Si es una solución simple, pero que a mi llevo un tiempo detectarla [hace unos par de años], especialmente porque no había tenido la necesidad que tu, ahora tienes

Hola @Gerson Pineda, recién me doy cuenta de que este pequeño "truco" se anula en el momento que se cierra la aplicación ofimática. Excel en este caso.

Sabes cómo se hace para dejarlo estable para siempre?

 

Saludos.

Link to comment
Share on other sites

Hace 10 horas, paikerr dijo:

Hola @Gerson Pineda, recién me doy cuenta de que este pequeño "truco" se anula en el momento que se cierra la aplicación ofimática. Excel en este caso.

Sabes cómo se hace para dejarlo estable para siempre?

 

Saludos.

@paikerr como te va!

Si porque es manual, pero lo resuelves de una manera simple, utilizando un evento como Open y listo

Tal que:

Hoja1.ScrollArea = "A1:H10"

 

Saludos

Link to comment
Share on other sites

  • Crear macros Excel

  • Posts

    • =ELEGIR(F20,7500,5000,5000,3500,3500,3500,2500,2500,2500,2500,2500,1500) Espero te sirva  
    • ya te di acceso,me parecio raro que no pudieras entrar pero ya deberias entrar,hace mucho que me suscribi a esta pagina y simpre pude subir mi archivo de ejemplo,pero ahora me doy cuenta que si no pago una tarifa de membresia no podre subir ejemplos para que puedan prestar su ayuda 
    • ya te di acceso,me parecio raro que no pudieras entrar pero ya deberias entrar
    • Coloca esta subrutina y el resultado lo pondrá en la Hoja Principal "E15" hacia abajo... Saludos   Sub concatena()     Set DATOS = Worksheets("Verificar Matriz")     Sheets("principal").Select     Range("E15:E5000").ClearContents     rt = 5     RD = 6     RS = 15     Do While DATOS.Cells(RD, 4) <> ""         pasa = 0         For C = 5 To 22             If DATOS.Cells(RD, C) <> "0" Then                 pasa = pasa + 1             End If         Next         If pasa > 0 Then             CADENA = ""             For C = 5 To 22                 If DATOS.Cells(RD, C) > 0 Then                     If Len(CADENA) > 0 Then                         CADENA = CADENA & ","                     End If                     CADENA = CADENA & C - 4 & "-" & DATOS.Cells(rt, C) & "=" & Chr(34) & DATOS.Cells(RD, C) & Chr(34)                 End If             Next             Cells(RS, "E") = CADENA             RS = RS + 1         End If         RD = RD + 1     Loop End Sub  
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy