# SpinButton



## VeryGreenGrinch (May 8, 2009)

Estoy elaborando un formato, que me servirá de formulario para condicionar una cotización. El punto importante, es que para el incremento / decremento de cantidades voy a utilizar un SpinButton por cada partida de producto y para hacerla de fácil uso, cada vez que se requiera hacer una nueva cotización, necesito ligar los valores Min, Max y SmallChange a una celda de la misma hoja, para que quien lo utilice no necesite modificar el código o macro.

Por ejemplo, que SpinButton tome el Valor Max de la celda A1, Min de A2 y SmallChange de A3, para que en ellas el usuario modifique las cantidades.

Gracias por la ayuda!


----------



## VeryGreenGrinch (May 8, 2009)

VeryGreenGrinch said:


> Estoy elaborando un formato, que me servirá de formulario para condicionar una cotización. El punto importante, es que para el incremento / decremento de cantidades voy a utilizar un SpinButton por cada partida de producto y para hacerla de fácil uso, cada vez que se requiera hacer una nueva cotización, necesito ligar los valores Min, Max y SmallChange a una celda de la misma hoja, para que quien lo utilice no necesite modificar el código o macro.
> 
> Por ejemplo, que SpinButton tome el Valor Max de la celda A1, Min de A2 y SmallChange de A3, para que en ellas el usuario modifique las cantidades.
> 
> Gracias por la ayuda!


 
Ok... Buscando ya logré resolverlos ... Pero ahora tengo un nuevo problema: Cuando el valor de la celda (LinkedCell) es borrado y se aprieta el SpinButton hacia abajo, me envía Error.
¿Como puedo corregirlo?


----------



## galileogali (May 9, 2009)

> Buscando ya logré resolverlos



Usaste el SpinButton del Cuadro de Controles o de Formularios?
Para relacionar los valores de las celdas ¿utilizaste macros?
De no haberlas utilizado, podrias mencionar como vinculaste Max, Min y SmallChange a las celdas?


----------



## Greg Truby (May 11, 2009)

VeryGreenGrinch said:


> Pero ahora tengo un nuevo problema: Cuando el valor de la celda (LinkedCell) es borrado y se aprieta el SpinButton hacia abajo, me envía Error.
> ¿Como puedo corregirlo?


No puedo replicar su problem. Cuando borro la celda vinculado (linked cell) no me da error al cliquear el botón de abajo ni de arriba.


galileogali said:


> Para relacionar los valores de las celdas ¿utilizaste macros?
> De no haberlas utilizado, podrias mencionar como vinculaste Max, Min y SmallChange a las celdas?


No veo cómo hacer esto sin VBA tampoco, Gali. Cuando trato de vincular min y max a celdas manualmente Excel me lo rechaza como mi hijo rechaza el brócoli.


----------



## VeryGreenGrinch (May 11, 2009)

galileogali said:


> Usaste el SpinButton del Cuadro de Controles o de Formularios?
> Para relacionar los valores de las celdas ¿utilizaste macros?
> De no haberlas utilizado, podrias mencionar como vinculaste Max, Min y SmallChange a las celdas?


 
Lo hice usando un control ActiveX.
La macro (pobremente) realizada, es así:

```
Private Sub SpinButton1_GotFocus()
SpinButton1.Min = Range("J25").Value
SpinButton1.Max = Range("N25").Value
SpinButton1.SmallChange = Range("L25").Value
SpinButton1.LinkedCell = "$B$25"
End Sub
```
Seguramente (obviamente) aún falta una instrucción, porque como expliqué, cuando en la Celda B25 hay un número, trabaja bien hacia arriba y hacia abajo, pero si la cantidad es borrada y al SpinButton se hace clic hacia abajo, me envía error para depurar y señala la última línea:
SpinButton1.LinkedCell = "$B$25"

Saludos.


----------



## Greg Truby (May 11, 2009)

No comprendo por qué tiene que tocar la propiedad de LINKEDCELL.  No me parece que irá cambiando.  Una vez puesto se queda puesto para siempre.  ¿O me equivoco?


----------



## VeryGreenGrinch (May 11, 2009)

Greg, mi Antivirus no me permite adjuntar el archivo ¿como puedo enviarte la hoja? Creo que mirándola podrás entender mejor mi problema...
¿Puede ser a tu correo?

Únicamente necesito una instrucción para que cuando la celda LinkedCell esté en blanco y se le de clic hacia abajo (hacia 0), no me envíe Error para depurar... Sería mejor mandara un mensaje de error al usuario para advertirle y para que ingrese una cantidad .


----------



## Greg Truby (May 11, 2009)

Entiendo lo que le está pasando.  Lo que me pregunto es por qué usted tiene que asignar la propiedad LinkedCell vez tras vez.  ¿Por qué no poner:?
	
	
	
	
	
	



```
Private Sub SpinButton1_GotFocus()
    with spinbutton1
        .Min = Range("J25").Value
        .Max = Range("N25").Value
        .SmallChange = Range("L25").Value
    end with
End Sub
```


----------



## VeryGreenGrinch (May 11, 2009)

Tremendo!... Sencillo y concreto.
Muchas gracias Greg!

_*El conocimiento es la riqueza más grande en la vida, por ser la única que se multiplica cuando se comparte.*_


----------



## galileogali (May 11, 2009)

Greg: en mi caso particular durante años, he aborrecido los brócolis....hoy con 53 años, diria que los tolero, y hasta los acepto gustoso.....
Por lo visto todo es cuestion de "saber esperar".....


----------

