Cálculo en barra de estado en Excel 2003 similar a Excel 2010

De los cambios positivos que tuvo Excel 2007 y 2010 es que ahora la barra de estado permite mostrar disintos cálculos en una misma vista, tal como Suma, Promedio, Recuento, etc.

En Excel 2003 y anteriores había que elegir, mediante un menú, sólo un cálculo para que sea mostrado en la barra de estado.

Cómo funciona ?

El siguiente evento permite mostrar distintos cálculos en la barra de estado a medida que elegimos un rango de celdas. Para esto, debemos entrar a nuestro IDE de vba y entrar el objeto ThisWorkbook. Añadiremos el evento Workbook_SheetSelectionChange para que cada vez que hacemos una selección de rangos, nos muestre distintos cálculos.

Código

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Dim Suma, Promedio, Cuenta, Maximo, Minimo
    'Si al menos están elegidas dos celdas, muestra los cálculos
    If Selection.Cells.Count <> 1 Then
        On Error Resume Next
        Suma = "Suma: " & Application.WorksheetFunction.Sum(Selection)
        Promedio = "Promedio: " & Application.WorksheetFunction.Average(Selection)
        Cuenta = "Cuenta: " & Application.WorksheetFunction.CountA(Selection)
        Maximo = "Máximo: " & Application.WorksheetFunction.Max(Selection)
        Minimo = "Mínimo: " & Application.WorksheetFunction.Min(Selection)
        'Muestra en la barra de tareas los cálculos antes definidos
        Application.StatusBar = Suma & "    " & Promedio & "   " & _
                                Cuenta & "   " & Maximo & "     " & Minimo
    Else
        Application.StatusBar = False
    End If
    On Error GoTo 0
End Sub

Imagen de ejemplo

image

You may also like...

1 Response

  1. sergioacamposh says:

    El siguiente código les ayudará a obtener el número de celdas de x color:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Suma As Integer
    Dim Celda As Range
    If Selection.Cells.Count > 1 Then
    Suma = 0
    For Each Celda In Selection
    If Celda.Interior.ColorIndex = 10 Then
    Suma = Suma + 1
    End If
    Next Celda
    Application.StatusBar = “Hay ” & Suma & ” celda de color verde.”
    Else
    Application.StatusBar = False
    End If
    End Sub

Leave a Reply

Your email address will not be published.

%d bloggers like this: