Macros para contar y sumar

El siguiente procedimiento muestra el uso de contadores y acumuladores o sumadores en un ciclo.
Calcula la suma y el promedio de un conjunto de números en un rango dado.

Calcular sumas y promedios de un rango dado



Sub Promedios()
Dim suma As Double
Dim promedio As Double
Dim n As Double
Dim celda As Range

    suma = 0 'acumula los valores
    n = 0    'cuenta los valores
    
    For Each celda In Selection
        n = n + 1
        suma = suma + celda.Value
    Next celda
    
    promedio = suma / n
    MsgBox "Valores leídos = " & n & vbCrLf & _
           "Suma = " & suma & vbCrLf & _
           "Promedio = " & promedio
End Sub



Cuenta el número de valores mayores, menores o iguales al promedio de un conjunto de numero en un rango dado,

Ejemplo del uso de contadores en VBA


Sub Contadores()
Dim suma As Double
Dim promedio As Double
Dim n As Double
Dim celda As Range
Dim mayor As Double
Dim menor As Double
Dim igual As Double

    suma = 0 'acumula los valores
    n = 0    'cuenta los valores
    
    For Each celda In Selection
        n = n + 1
        suma = suma + celda.Value
    Next celda
    
    promedio = suma / n
    
     mayor = 0 'cuenta los valores mayores al promedio
     menor = 0 'cuenta los valores menores al promedio
     igual = 0 'cuenta los valores mayores al promedio
     
     For Each celda In Selection
        
        If celda.Value > promedio Then
            mayor = mayor + 1
        End If
        
        If celda.Value < promedio Then
            menor = menor + 1
        End If
        
        If celda.Value = promedio Then
            igual = igual + 1
        End If
        
     Next celda
    
     MsgBox "Valores leídos      = " & n & vbCrLf & _
            "Promedio            = " & promedio & vbCrLf & _
            "Mayores al promedio = " & mayor & vbCrLf & _
            "Menores al promedio = " & menor & vbCrLf & _
            "Iguales al promedio = " & igual & vbCrLf

End Sub


:
De la siguiente   "Tabla de datos" calcular:
  • Calcular el número de hombres y mujeres
  • Calcular el porcentaje de hombres y mujeres
  • Escribir los cálculos en la tabla de resultados

Tabla de datos 03

Macro para calcular el número de hombres y mujeres de una tabla de datos

La macro:
  • Utiliza Application.InputBox para solicitar el rango de datos
  • El rango de datos se almacena en la variable Objeto miRango de tipo Range
  • Utiliza la variable celda de tipo Variant para recorrer el rango de datos dado
  • Utiliza dos contadores para calcular el número de hombres y mujeres en la tabla de datos
  • Para simplificar el código, no valida errores
Sub contadores()
Dim miRango As Range
Dim celda As Variant
Dim contadorHombres As Double
Dim contadorMujeres As Double
Dim total As Double

    'Solicitar rango de entrada
    Set miRango = Application.InputBox("Rango de entrada", Type:=8)
    
    'Iniciar contadores a cero
    contadorHombres = 0
    contadorMujeres = 0
    
    'Recorrer cada una de las celdas del rango dado
    For Each celda In miRango
        If celda.Value = 1 Then
            contadorHombres = contadorHombres + 1
        Else
            contadorMujeres = contadorMujeres + 1
        End If
    Next celda
    
    total = contadorHombres + contadorMujeres
    
    'Tabla de resultados
    Range("E7").Value = contadorHombres
    Range("E8").Value = contadorMujeres
    Range("E9").Value = total
    
    'Tabla de porcentajes
    Range("F7").Value = Format(contadorHombres / total, "00.00 %")
    Range("F8").Value = Format(contadorMujeres / total, "00.00 %")
    Range("F9").Value = Format(total / total, "00.00 %")  
    
End Sub

La siguiente figura muestra la ejecución de la macro anterior:

Tabla de datos 05

Tabla de resultados calculada por la macro anterior:

Tabla de datos 05