Inicio » VBA-Ejemplos » Casilla de Verificación (evento Change)

Casilla de Verificación (evento Change)

José Skraviuk | 30/11/2005

Resumen

Se usa el evento change para simular una casilla de verificación, en la columna A, y luego combinamos con una suma condicional, que que solamente SUMA los meses que se encuentran tildados.

Un ejemplo real

Al hacer clic sobre la columna A, tilda la celda.

casilladeverif

Luego se puede aplicar una fórmula matricial y condicional para sumar los meses tildados.

{=SUMA(SI($A$2:$A$13<>“”;$C$2:$C$13;0))}

El código

El código debe escribirse en la misma hoja Excel, ver imagen.

casilladeverif2

'Jose Skraviuk
'ayudaexcel  {at}  yahoo.com.ar

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
 
Dim aOffset As Integer
On Error GoTo err_handler
Application.EnableEvents = False
 
If Not Application.Intersect _
(Target, Columns("A")) Is Nothing Then
 
If Target.Column = 4 Then
  aOffset = 3
Else
  aOffset = 2
End If
 
If IsEmpty(Target.Value) Then
  With Target
   .Font.Name = "Wingdings"
   .Value = Chr(252)
  End With
  Target.Offset(0, iOffset).Select
Else
  Target.Value = ""
  Target.Offset(0, iOffset).Select
End If
 
End If
 
err_handler:
Application.EnableEvents = True
 
End Sub

Comentarios

Para evitar confusiones (sobre todo si estamos preparando una plantilla para otras personas), podríamos optar por la fórmula SUMAPRODUCTO, que además permite aplicar varias condiciones de una manera fácil.
=SUMAPRODUCTO((A2:A13<>“”)*C2:C13)

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS