2012-08-27 6 views
1

Salut Je veux insérer une formule dans une cellule en déterminant des variables pour chaque valeur.excel vba - insérer une formule en utilisant des variables

Par exemple.

=G5/D5 

Ainsi, dans la cellule

Sheets("Sheet1").cells(LastRow + 2, 2).value = "=columnletter1 + (lastrow + 2)/columnletter2 + (lastrow + 2) 

Je trouve le columnletter est G en déterminant si le nom de la colonne est X et la ligne est LastRow + 2. Comment puis-je écrire pour que je sois « = G5/D5 "retourné dans la cellule?

Répondre

1

Je ne sais pas si je comprends exactement à vos besoins, je pense que vous voulez dire:

columnletter1 est une chaîne, = G
columnletter2 est une chaîne, = D
lastrow est une longue = 3

Pour définir une formule, construisez une chaîne et écrivez à la propriété .Formula

Sheets("Sheet1").cells(LastRow + 2, 2).Formula = _ 
    "=" & columnletter1 & lastrow + 2 & "/" & columnletter2 & lastrow + 2 
0

Pour les calculs de matrice ci-dessous, le code donné incluant la formule avec variables peut être utile.

For ROW= 0 To K - 1 
    For COL= 0 To J - 1 
     Range("G5").Offset(ROW, COL).Select 
     ActiveCell.FormulaR1C1 = _ 
     "=SUMIFS(R2C5:R500C5,R2C4:R500C4,RC[" & -COL- 1 & "],R2C2:R500C2,R[" & -ROW- 3 & "]C,R2C3:R500C3,R[" & -ROW- 2 & "]C)" 

    Next 
    COL= COL + 1 

Next 
ROW= ROW + 1 
Questions connexes