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
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 de Elsa Matilde
1