¿Cómo hacer que una función concatene todos los valores hasta encontrar uno concreto?

Estoy intentando emplear una función que logre CONCATENAR un número variable de celdas (estas celdas siempre están en la primera columna, y empiezan en la fila 2).

Se trata de concatenar un número grande de celdas (100-200) cada vez, y por ello utilizo un código vb para concatenar de forma masiva. Creo que eso no va a influir en la solución a mi problema, pero se lo incluyo para que no le extrañe cómo utilizo la función de concatenar. El código es este:

Function CONCATENAR_MASIVO(Rango As Range, delimitador As String)
Dim i As Integer, Resultado As String

Resultado = ""
    For i = 1 To Rango.Count
        Resultado = Resultado + Rango(i) & delimitador
    Next
CONCATENAR_MASIVO = Trim(Left(Resultado, Len(Resultado) - 1))

End Function

Lo que busco conseguir es que, al introducir la función CONCATENAR, ésta concatene los valores que hay desde la segunda fila hasta la fila anterior a aquella que empiece por un número mayor de 10000. Espero explicarme, sería algo así como: CONCATENAR_masivo(A2;"La celda anterior a la que sea mayor de 1000";",").

¿Cómo puedo lograrlo?

Respuesta
2

No entendí bien si quieres sumar números o concatenar textos.

Pero, te anexo las 2 macros.

Marco para sumar números:

Function Sumar_Masivo(Rango As Range, delimitador As Variant)
'Por.Dante Amor
    For Each celda In Rango
        If celda > delimitador Then Exit For
        wsuma = wsuma + celda.Value
    Next
    Sumar_Masivo = wsuma
End Function

y otra para concatenar textos

Function Concatenar_Masivo(Rango As Range, delimitador As Variant)
'Por.Dante Amor
    For Each celda In Rango
        If celda > delimitador Then Exit For
        cadena = cadena & celda.Value
    Next
    Concatenar_Masivo = cadena
End Function

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas