¿Cómo llamar a una función desde una macro?

Tengo creada la siguiente función para contabilizar el número de celdas dependiendo de un color de fondo.

Function ContarPorColor(rango_datos As Range, condicion_color As Range) As Long
Dim datox As Range
Dim colorx As Long

colorx = condicion_color.Interior.ColorIndex
For Each datox In rango_datos
If datox.Interior.ColorIndex = colorx Then
ContarPorColor = ContarPorColor + 1
End If
Next datox
End Function

Necesito que dicha función se ejecute automáticamente o llamarla desde una macro que actualiza los datos.

Al intentar incluirla en la macro me da error indicando que los parámetros no son opcionales.

Quisiera saber como puedo hacerlo de alguna de las dos opciones.

2 respuestas

Respuesta
Respuesta

Probablemente no haz definido los "Rangos Nombrados" de tus parámetros.

Buenas,

La macro que actualiza los datos y desde la que llamo a la función para contabilizar el número de celdas en color es esta. Pero me da error. No se como debo pasarle los rangos.

Sub formato()
Range("iv4").End(xlToLeft).Offset(0, 0).Select
If ActiveCell.Value = "Individual" Then
    ActiveCell.Offset(-1, 0).Select
    Selection.NumberFormat = "0"
    ActiveCell.Offset(2, 0).Select
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value < 25 Then
            ActiveCell.Interior.Color = RGB(255, 192, 0)
        Else
        End If
        ActiveCell.Offset(1, 0).Select
    Loop
End If
If ActiveCell.Value = "2vs2" Then
    ActiveCell.Offset(-1, 0).Select
    Selection.NumberFormat = "#,##0.0"
    ActiveCell.Offset(2, 0).Select
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value < 3.5 Then
            ActiveCell.Interior.Color = RGB(255, 192, 0)
        Else
        End If
        ActiveCell.Offset(1, 0).Select
    Loop
End If
Call ContarPorColor
End Sub

Por lo que veo, tu macro se llama formato, así que, puedes entrar al Diálogo de Macros y asignarla a una combinación de teclas.

Solamente selecciónala y en modificar haces la asignación.

Macros está en el mismo lugar en el que se inicia la grabadora de macros.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas