Domanda

Ho il seguente codice

 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

Anche se so che è sbagliato, non ho idea di come farlo per memorizzare in DepRng.Cells(i, j) la somma totale di tutta la KidsRng.Row[i] Qualsiasi aiuto?

È stato utile?

Soluzione 2

Ordinati, ringrazia tutti per il vostro aiuto

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

Altri suggerimenti

Il seguente codice funziona bene.

Forse si dovrebbe confrontarla con la vostra:

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

Basta riempire C1 gamma: F2 con i numeri ei totali per riga appariranno in B1. B2 al momento dell'esecuzione della macro

Non ci può essere un modo migliore di questo, ma questa è la mia soluzione che dipende dal motore di formula interna Excel, però, potrebbe essere sufficiente per quello che stai facendo ... Si determina l'indirizzo completo del KidsRng.Row (i), e la immette in un = SUM () stringa di formula e valutati da 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

aggiornato al lavoro se kidsrng esisteva in un foglio / libro diverso aggiornato per utilizzare Application.Evaluate

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top