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

    • Muchas Gracias Janlui. Funciona perfecto, veras que he añadido a la macro una última línea que es la que crea el fichero final TXT en una ubicación concreta. Lo que no se es porque una vez generado el TXT la última parte la vuelve a entrecomillar (en la hoja 5 del fichero que adjunto veras un pantallazo del TXT que genera) Repito, muchas gracias por la ayuda Saludos       Ejemplo3.xlsm
    • Observé un pequeño error, espero ya esté bien. Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 7 To 11             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 12 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Disculpa que no te lo regrese en el archivo, pero mi nivel de membresía no me permite completar al 100% el apoyo que solicitan.
    • Copia la macro y el resultado lo pondrá en la Hoja2... Saludos Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 6 To 10             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 11 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Todas tus celdas deberán tener formato numérico.
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy