Visual Basic - Funcion contar por color

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Funcion contar por color

Publicado por Fernando (1 intervención) el 20/07/2022 17:21:23
no puedo encontrar el error "NO SE HA DEFINIDO SUB O FUNCTION"

Function CONTARPORCOLORFC(CeldaColor As Range, Rango As Range) As Integer

Dim Celda As Range
Dim Total As Integer
Dim Color As Long

Color = Colorfc(CeldaColor)

For Each Celda In Rango.Cells
If Colorfc(Celda) = Color Then
Total = Total + 1
End If
Next Celda

CONTARPORCOLORFC = Total

End Function

ME PODRIAN APOYAR CON ESTE ERROR
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Funcion contar por color

Publicado por Santos (1 intervención) el 20/07/2022 19:56:35
Hola.

Así a bote pronte veo que tienes una función que que no tiene Return y se supone que esta tiene que devolver un valor de tipo Integer. Por otra parte, dentro de la función intentas asignar el valor de la variable Total a la Función CONTAPORCOLORFC y eso no tiene sentido. Sin tener más información de lo que debe hacer la función es difícil concretar más.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Funcion contar por color

Publicado por Antoni Masana (558 intervenciones) el 21/07/2022 06:43:23
Sobre lo que comenta Santos:

- Las funciones en VB no tienen return, el valor a retornar se le asigna a una variable que se tiene que llamar igual que la función
- La función ColorFC() ¿Donde esta? ¿Cual es?

1
2
3
4
5
6
7
8
9
10
11
12
13
Function CONTARPORCOLORFC(CeldaColor As Range, Rango As Range) As Integer
    Dim Celda As Range
    Dim Total As Integer
    Dim Color As Long
 
    Color = Colorfc(CeldaColor)
    For Each Celda In Rango.Cells
        If Colorfc(Celda) = Color Then
            Total = Total + 1
        End If
    Next Celda
    CONTARPORCOLORFC = Total
End Function

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar