Pregunta

tengo el siguiente código

 For i = 1 To DepRng.Rows.Count
    For j = 1 To DepRng.Columns.Count
         DepRng.Cells(i, j) = Application.Sum(KidsRng.Row(i)) //Does not work
    Next j
 Next i

A pesar de que sé que está mal, no tengo ni idea de cómo llegar a almacenar en DepRng.Cells(i, j) la suma total de todo el KidsRng.Row[i] Cualquier ayuda?

¿Fue útil?

Solución 2

Ordenado, gracias a todos por su ayuda

   DepRng.Cells(i, j) = Application.Sum(KidsRng.Rows(i)) //just needed to add the "s" in rows

Otros consejos

El siguiente código funciona bien.

Tal vez usted debe compararla con la suya:

Sub a()

Dim DepRng As Range
Dim kidsrng As Range
Set DepRng = Range("B1:B2")
Set kidsrng = Range("C1:F2")

 For i = 1 To DepRng.Rows.Count
      DepRng.Cells(i, 1) = Application.Sum(kidsrng.Rows(i))
 Next i

End Sub

Sólo llene el rango C1: F2 con los números y los totales por fila aparecerán en B1:. B2 tras la ejecución de la macro

No puede haber una manera mejor que esto, pero esta es mi solución que depende del motor interno fórmula de Excel sin embargo, podría ser suficiente para lo que estás haciendo ... Se determina la dirección completa del KidsRng.Row (i), y la inyecta a a = SUM cadena de fórmula () y evaluadas por Application.Evaluate.

For i = 1 To DepRng.Rows.Count
    For j = 1 To DepRng.Columns.Count

        DepRng.Cells(i, j).Value = Application.Evaluate("=SUM(" & KidsRng.Row(i).Address(True, True, xlA1, True) & ")")

    Next j
 Next i

puesto al día para el trabajo si existía kidsrng en una hoja / libro diferente actualizado para utilizar Application.Evaluate

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top