/ / Appel de .Cells (i, j) en. Formule dans VBA - excel-vba, vba, excel

Appel de .Cells (i, j) en. Formule dans VBA - excel-vba, vba, excel

Salut, je veux appeler des cellules en utilisant le .cells (i, j) dans un. Formula

Ma macro pour le moment imprime une valeur / formule dans un tableau de cellules. Cela fonctionne bien pour les valeurs, mais j’ai du mal à insérer une formule qui ne renvoie pas d’erreur.

Voici la ligne de code pertinente

Sheets("Stats").Cells(j, i).Formula = SUM(Sheets("Stats").Cells(1, i),Sheets("Stats").Cells(1, i), A3)

Ceci est une ligne alternative pour plus de simplicité. Je souhaite pouvoir utiliser à la fois l’appel .cells et l’appel alphanumérique dans la même formule.

Merci beaucoup

Réponses:

0 pour la réponse № 1

Lors de l'utilisation de .Formula, il attend une chaîne et il doit être mis en forme de la même manière que vous le saisiriez dans la cellule elle-même sans VBA (y compris le "=" au début). Essayer

Sheets("Stats").Cells(j, i).Formula = _
"=SUM(" & Sheets("Stats").Cells(1, i).address & _
"," & Sheets("Stats").Cells(1, i).address & ", A3)"

0 pour la réponse № 2

Vous pouvez utiliser le With déclaration dans votre cas peut simplifier beaucoup:

With Sheets("Stats")
.Cells(j, i).Formula = "=Sum(" & .Cells(1, i).Address & "," & .Cells(1, i).Address & ", A3)"
End With

Remarque: chaque fois que vous essayez de déboguer si votre formule est correcte, utilisez la commande Debug.Print.

Dans votre cas, si vous mettez i = 2 et au-dessous de ce code:

With Sheets("Stats")
Debug.Print "=Sum(" & .Cells(1, i).Address & "," & .Cells(1, i).Address & ", A3)"

Vous aurez la formule suivante dans la fenêtre immédiate:

=Sum($B$1,$B$1, A3)