Sumas acumuladas en una celda con VBA

Con el presente video tutorial damos respuesta a un suscriptor que pregunta como sumar los números introducidos en una celda de manera consecutiva.

En este caso utilizamos una corta validación sobre la celda donde se hace la introducción de los números y posterior a ello ejecutamos la suma de los valores introducidos.

Procedimiento Sub que ejecuta la suma de los números ingresados en una celda

Sub SumarNumeros(Celda As Range)
   With Celda
      If (.Address = "$C$4" Or .Address = "$D$3") And IsNumeric(Range("C3").Value) Then
         With Range("C3")
            Range("A1").Value = Range("A1").Value + .Value
            .ClearContents
            .Select
         End With
      End If
   End With
End Sub

Se usa la propiedad que devuelve la dirección de una celda (Address) y la función interna de VBA IsNumeric para verificar si el valor introducido es un valor numérico.

Ejecución automática mediante el evento SelectionChange de una hoja de Excel

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Call Operaciones.SumarNumeros(Target)
End Sub

Las construcciones With...End With se usan para hacer el llamado a los respectivos objetos y minimizar las líneas de código escritas.


4 comentarios:

  1. bueno pero como limpiar la sumatoria total clear
    ?????????????????????????????????????????????????

    ResponderEliminar
  2. TE HAGO UN COMENTARIO?...APLIQUE TAL CUAL LO MENCIONAS PERO SE CUELGA SIEMPRE EN UNA CELDA Y NO PODES SALIR DE ELLA, ES DECIR, NO PODES TOCAR OTRA CELDA DE LA HOJA PUES SIEMPRE VUELVE A LA MISMA Y ES ENFERMANTE!
    SALUDOS Y MUCHAS GRACIAS IGUAL.

    ResponderEliminar
  3. Hola amigo puedo aplicar esto en una ho ja de cálculo google?

    ResponderEliminar
  4. Buenos dias. Estoy creando un fixture interactivo de las eliminatorias. Despues de cada partido,luego de colocar el score, en la hoja de vba se va anotando los puntos, el cual se ve en una hoja de excel. Con la primera fecha no hay problema,el problema ocurre cuando los puntos de la segunda fecha no se suman con las las de la primera. Por eso quisiera que los puntos acumulados en la primera fecha ,se sumen con los puntos obtenidos en la segunda fecha, y asi sucesivamente hasta la fecha 18.

    ResponderEliminar