Trabajaré con versión Excel 2010, aunque para versiones anteriores funciona exactamente igual... también existe tanto para insertar en la hoja de cálculo como en un Userform.
Se trata de añadir un Control adicional en particular, el Microsoft Slider control, version 6.0 que tendrá este aspecto:
Para llegar a este control seguiremos cuatro sencillos pasos:
Paso 1: Iremos a la ficha Programador > grupo Controles > botón Insertar > Controles ActiveX > Más controles
Paso 2: En la ventana diálogo que se abra buscaremos el control en cuestión: Microsoft Slider control, version 6.0
Paso 3: Insertar el control en nuestra hoja de cálculo (o UserForm), tra lo cual cambiaremos a Modo diseño en la ficha Programador > grupo Controles > botón Modo diseño.
Con modo diseño activado presionaremos el botón Propiedades:
Paso 4: En la venta Propiedades abierta nos fijaremos en las siguientes propiedades en particular:
Min
Max
SmallChange
LargeChange
TickStyle
y
en algunos casos también
SelectRange
Para nuestro ejemplo estas son las propiedades activadas:
Min = 0
Max = 25
SmallChange = 1
LargeChange = 5
TickStyle = 2-sldBoth
SelectRange = True
Como definiciones interesantes que emplearemos a continuación sirvan las siguientes:
SelStart : Devuelve o establece el valor de inicio de una selección.
SelLength : Devuelve o establece la longitud de una selección.
SelectRange : Devuelve o establece si un control Slider puede tener un intervalo de selección.
Una vez realizada esta configuración pasamos a la parte de código. Para ello accederemos a la ventana de código desde el control presionando botón derecho del ratón y luego Ver código; ya en la ventana de código insertaremos los siguientes procedimientos y eventos:
Merece especial atención mencionar los eventos de los que que dispone este control; en general son los que posee la mayoría de los controles: Click, GotFocus, LostFocus, KeyDown, KeyUp, KeyPress, MouseDown, MouseMove etc... Pero también pose otros dos, llamados _Scroll y _Change.
El evento _Scroll se ejecuta cada vez que desplazamos el cursor (el slider); mientras que el evento _Change cada vez que la propiedad Value cambie de valor.
Para cambiar el valor de este control podemos optar por:
1- hacer clic en la barra del control, o manteniendo presionado el botón izquierdo del ratón hasta el punto deseado.
2- usar la rueda del ratón, con el control activo.
3- usar el teclado (flechas del cursor, Avance o Retroceso página, Inicio, Fin...)
El efecto final es el mostrado al inicio de la entrada...
Se trata de añadir un Control adicional en particular, el Microsoft Slider control, version 6.0 que tendrá este aspecto:
Para llegar a este control seguiremos cuatro sencillos pasos:
Paso 1: Iremos a la ficha Programador > grupo Controles > botón Insertar > Controles ActiveX > Más controles
Paso 2: En la ventana diálogo que se abra buscaremos el control en cuestión: Microsoft Slider control, version 6.0
Paso 3: Insertar el control en nuestra hoja de cálculo (o UserForm), tra lo cual cambiaremos a Modo diseño en la ficha Programador > grupo Controles > botón Modo diseño.
Con modo diseño activado presionaremos el botón Propiedades:
Paso 4: En la venta Propiedades abierta nos fijaremos en las siguientes propiedades en particular:
Min
Max
SmallChange
LargeChange
TickStyle
y
en algunos casos también
SelectRange
Para nuestro ejemplo estas son las propiedades activadas:
Min = 0
Max = 25
SmallChange = 1
LargeChange = 5
TickStyle = 2-sldBoth
SelectRange = True
Como definiciones interesantes que emplearemos a continuación sirvan las siguientes:
SelStart : Devuelve o establece el valor de inicio de una selección.
SelLength : Devuelve o establece la longitud de una selección.
SelectRange : Devuelve o establece si un control Slider puede tener un intervalo de selección.
Una vez realizada esta configuración pasamos a la parte de código. Para ello accederemos a la ventana de código desde el control presionando botón derecho del ratón y luego Ver código; ya en la ventana de código insertaremos los siguientes procedimientos y eventos:
Private Sub Slider21_scroll() 'con el evento específico de _scroll llamamos a procedimiento Sub SliderHasta Call SliderHasta End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub SliderHasta() 'situamos la posición de partida en el mínimo configurado en Propiedades Slider21.SelStart = Slider21.Min 'damos longiutd a la selección Slider21.SelLength = Slider21.Value 'Devolvemos el valor a una celda de la hoja Range("C6").Value = Slider21.Value End Sub
Merece especial atención mencionar los eventos de los que que dispone este control; en general son los que posee la mayoría de los controles: Click, GotFocus, LostFocus, KeyDown, KeyUp, KeyPress, MouseDown, MouseMove etc... Pero también pose otros dos, llamados _Scroll y _Change.
El evento _Scroll se ejecuta cada vez que desplazamos el cursor (el slider); mientras que el evento _Change cada vez que la propiedad Value cambie de valor.
Para cambiar el valor de este control podemos optar por:
1- hacer clic en la barra del control, o manteniendo presionado el botón izquierdo del ratón hasta el punto deseado.
2- usar la rueda del ratón, con el control activo.
3- usar el teclado (flechas del cursor, Avance o Retroceso página, Inicio, Fin...)
El efecto final es el mostrado al inicio de la entrada...
Como Vincular el valor de ua celda con el Deslizador ?
ResponderEliminarHola Emiro, que tal estás?
Eliminarun gusto saludarte igualmente.
lee la línea 12 del código subido.
Un cordial saludo