Quelqu'un peut-il résoudre ce problème?
Sub test
Dim i as integer
For I = 1 to 10
ActiveCell.Offset(0, 2).Formula = "=Sum(E15,&i&)"
Next I
End Sub
votre objectif réel n'est pas clair
vous voudrez peut-être commencer à former ce code
Sub test()
Dim i As Integer
For i = 1 To 10
cells(i, 4).Formula = "=Sum(E" & i & ":E15)"
Next
End Sub
et adaptez-le à vos besoins, sachant que:
il écrit actuellement dans les cellules "D1: D10"
puisque cells(i, 4)
référence une cellule de la 4ème colonne (c'est-à-dire: la colonne "D") 4 et i
row, et nous sommes dans une boucle où i
parcourt de 1 à 10
donc si:
vous souhaitez référencer une colonne différente, il suffit de remplacer 4
par le bon index de colonne
vous voulez référencer une ligne différente, puis remplacez simplement i
par le bon index (il peut y avoir un i+2
si vous devez parcourir 1 à 10, mais commencer à écrire à partir de la ligne 3
)
la formula
écrite dans ces cellules est:
=SUM(E1:E15)
in D1,
=SUM(E2:E15)
in D2,
....
=SUM(E10:E15)
in D10.
alors changez simplement "=Sum(E" & i & ":E15)"
en fonction de vos besoins réels
Vous êtes proche, essayez d'utiliser des esperluettes (&
) pour concaténer des chaînes.
ActiveCell.Offset(0, 2).Formula = "=Sum(E15," & i & ")"
Utilisez les esperluettes entre les chaînes pour les fusionner, et non à l'intérieur des chaînes.
Vous pouvez aussi essayer ceci:
Option Explicit
Sub TestMe()
Dim i As Long
For i = 1 To 10
ActiveCell.Offset(i, 2).Formula = WorksheetFunction.Sum(i, i)
Next i
End Sub
C'est une autre façon de le faire.