web-dev-qa-db-fra.com

Définir la formule sur une plage de cellules

c'est une simple démonstration de ce que je veux faire. Je veux définir une formule à une plage de cellules (par exemple, C1 à C10).

Range("C1").Formula = "=A1+B1"

mais comment faire la formule utilise des cellules dynamiques comme ceci:

Range("C1:C10").Formula = "=Ax+Bx"

en réalité, c'est comme

C1 = A1 + B1
C2 = A2 + B2
C3 = A3 + B3
C4 = A4 + B4
C5 = A5 + B5
...
C10 = A10 + B10

comment changer RHS de cette formule pour faire fonctionner ci-dessus: Range("C1:C10").Formula = "=Ax+Bx"

16
Vpp Man

Je mettrais à jour la formule en C1. Copiez ensuite la formule de C1 et collez-la jusqu'à C10 ...

Pas sûr d'une solution plus élégante

Range("C1").Formula = "=A1+B1"
Range("C1").Copy
Range("C1:C10").Pastespecial(XlPasteall)
10
The King
Range("C1:C10").Formula = "=A1+B1"

Aussi simple que cela.

Il remplit automatiquement (FillDown) la plage avec la formule.

39
neilxdims

Je pense que c'est la réponse la plus simple possible: 2 lignes et très compréhensible. Il émule la fonctionnalité de glisser une formule écrite dans une cellule sur une plage de cellules.

Range("C1").Formula = "=A1+B1"
Range("C1:C10").FillDown
8
Baumann

Utilisez FormulaR1C1:

Cells((1,3),(10,3)).FormulaR1C1 = "=RC[-2]+RC[-1]"

Contrairement à Formula, FormulaR1C1 a un référencement relatif.

7
user2626806

Utilisez ceci 

            Sub calc()


            Range("C1:C10").FormulaR1C1 = "=(R10C1+R10C2)"


            End Sub
0
Suyog Patil

Si vous essayez de remplir une colonne, vous pouvez le faire sur Excel 2010 avec une seule commande au clavier:

  1. Définir la formule de la cellule la plus en haut à gauche
  2. Sélectionnez la gamme complète
  3. Hit Ctrl-d

Ctrl-D remplira une ligne sélectionnée ou une matrice ou une colonne sélectionnée. Le référencement relatif est appliqué.

0
Kelly Kochanski