Excel VBA-Rango con nombre suma fila
-
25-09-2019 - |
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?
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