Pasar valor de una función CONTAR a una SUMAR. SI

Estimados expertos ... Estoy intentado realizar una macro en la cual tengo una columna la ES y a partir de la celda 11 ($S11) empieza a haber datos hasta Sn ..., este rango de celdas desde S11 puede variar, puden ser 10, mañana 50, etc. Entonces para conocer el numero de celdas a sumar ejecuto una función CONTAR para conocer el numero total de celdas, y si me lo da, pero a la hora de ejecutar la función SUMAR.SI sobre los datos de la columna ES, no se como pasarle el valor resultanto de CONTAR a la función SUMAR.SI para que cuando el rango sea variable, sepa hasta donde llegara el rango de la función SUMAR.SI. Lo que tengo es lo siguiente a ver si me pueden apoyar y ayudarme a pasar el valor.
Range("BG11").Select
    ActiveCell.FormulaR1C1 = "=COUNT(RC[-40]:R[2000]C[-40])"
    Range("BG11").Select
    ActiveCell.FormulaR1C1 = "=COUNT(RC[-40]:R[2000]C[-40])+2"
    Valorcelda = ActiveCell.Value
Aqui almaceno el resultado de la funcion CONTAR en la variable Valorcelda, despues
Range("R11").Select
    Do While Not IsEmpty(ActiveCell)
       ActiveCell.Offset(1, 0).Select
    Loop
    ActiveCell.Offset(2, 0).Select
    ActiveCell.Value = "Subtotal"
    Selection.Font.Bold = True
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .ShrinkToFit = False
        .MergeCells = False
    End With
    ActiveCell.Offset(0, 1).Select
    'Nota: Al intentar que la formula =SUMAR.SI se ajuste solamente al valor
    ' del resultado 'generado por la funcion =CONTAR me marca error
    ' ¿Porque genera el error? O como pasar ese valor?
    ActiveCell.FormulaR1C1 = "=SUMIF(R11C18:R[-1]C18,""coche"",R[valorcelda]C:R[-1]C)"
    For contador_celda = 1 To 30
         ActiveCell.Offset(0, 1).Select
         ActiveCell.FormulaR1C1 = "=SUMIF(R11C18:R[-1]C18,""coche"",R[valorcelda]C:R[-1]C)"
    Next contador_celda

1 Respuesta

Respuesta
1
Este es el modo de escribir una variable dentro de una fórmula:
ActiveCell.FormulaR1C1 = "=SUMIF(R11C18:R[-1]C18,""coche"",R[" & valorcelda & "]C:R[-1]C)"
PD) Te recomiendo especialmente mi manual 400MacrosPlus, con un cap para el tratamiento de fórmulas.

Excelente solución y mejor aun que exista gente como tu que comparta su conocimiento y sabiduría, un millón de gracias y saludos desde Mexico.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas