Como añadir una celda botón a un excel.

Tengo una columna de valores, me gustaría tener una celda (No un icono, dibujo o imagen) al lado de cada una de estas celdas que aumentase el valor de esta en uno, y otro que disminuyese el valor en la misma cantidad. El problema esta en que la macro debería especificar que cada botón actúe solo en el valor de la celda de su linea. Para que os pongáis en situación, A1 es 1, B1 me gustaría colorearla de verde y que al pulsarla, A1 fuese 2, y que en C3 fuese color rojo y lo que hiciese es devolver A1 a 1 tras restarle 1. Pero necesito que todas las celdas de la columna B hagan lo mismo cada una con la celda de su fila y C también.

Muchísimas gracias de antemano por vuestra atención, lo que hacéis es impresionante.

Enrique.

2 respuestas

Respuesta

Usa un SpinButton1 ve a programación luego insertar luego control activeX insertr SpinButton1 o control de número, lo pones en modo diseño, haz docle click y ve a propiedades, en la propiedad linkcel ahí escribes la celda con la cual se vinculará y listo, sal del modo edición y fijate que al presionar las flechas aumenta o disminuye y el resultado se ve en la celda.

Visita http://programarexcel.com encontrarás cientos de ejemplos que te pueden ayudar

mas ejemplos https://www.youtube.com/channel/UCTKYXi9ljxxOAXXKgwWDDpQ  suscribe y recibirás actualizaciones en tu mail

Respuesta

Si lo que quieres es no poner Botones...

Usa el evento Selection_change

Copia este código en el MODULO DE HOJA... y listo

No olvides valorar la respuesta

Private lastCell As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo out
If Target.Count = 1 Then
If Target.Column = 2 Then
Cells(Target.Row, 1) = Cells(Target.Row, 1) + 1
Application.EnableEvents = False
lastCell.Select
Application.EnableEvents = True
ElseIf Target.Column = 3 Then
Cells(Target.Row, 1) = Cells(Target.Row, 1) - 1
Application.EnableEvents = False
lastCell.Select
Application.EnableEvents = True
Else
Set lastCell = ActiveCell
End If
End If
Exit Sub
out:
Application.EnableEvents = False
Cells(ActiveCell.Row, 4).Select
Application.EnableEvents = True
End Sub

Si hay que adaptarlo a otras celda...

El +1 y -1 no los cambies, el 1 de target. Count tampoco

los otros 1, 2 y 3, 4  se refieren a columnas "A", "B" y "C"y "D"... cámbialos si los necesitas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas