2011-01-18 4 views
0

J'ai une application qui exporte des données vers une feuille Excel. L'utilisateur peut ajouter des formules pour exceler la feuille après avoir exporté les données comme il peut le faire =sum(o1:o12) et mettre les résultats dans o13. L'utilisateur a également la possibilité de réexporter les données sur la même feuille. Ce qui pourrait arriver ... que plus ou moins de lignes auraient été exportées en fonction de certaines conditions. Par exemple .... dernière fois il 12 lignes de sorte que l'utilisateur met la formule la ligne 13, mais cette fois 20 lignes pourraient être exportées donc Excel devrait être en mesure de déplacer la formule de o13 cellule à o21 et aurait dû mettre à jour la formule de =sum(o1:12) à =sum(o1:20). Dans les autres cas ... seules 5 lignes peuvent être exportées depuis l'application, donc la formule devrait passer à la cellule o6 et la formule aurait dû être mise à jour à =som(o1:o5).Déplacer des formules excel par programme

Est-il possible de demander à Excel de le faire par programmation?

Répondre

0

LastRow = Range("O65535").End(xlUp).Row retournera le numéro de la dernière cellule remplie dans la colonne O.

La prochaine chose à faire est:

Range("O" & LastRow+1).Value = "=Sum(O1:O" & LastRow & ")" 
Range("O" & LastRow+1).formula = "=Sum(O1:O" & LastRow & ")" will work as well. 

Dernière chose, lorsque vous utilisez LastRow = Range("O65535").End(xlUp).Row, faites attention si la dernière cellule de la colonne O est la formule de somme.

Cela devrait fonctionner, mais ne pas hésiter à poser des questions si ce n'est pas

+0

Merci pour l'indice. permettez-moi de me demander encore une chose ... ici dans l'exemple ci-dessus nous connaissons la formule = sum (o1: o10) afin que nous puissions écrire une déclaration pour déplacer des formules mais que faire si l'application n'est pas au courant des formules utilisateur. Je sais que l'application peut demander à Excel sur ses formules, mais si la formule est très complexe et utilise beaucoup de colonnes pour calculer la valeur alors comment l'application serait en mesure d'utiliser cette technique pour atteindre ce que je veux accomplir. Notez également que les formules peuvent non seulement être dans la cellule O13 qui fait = sum (o1: o12), mais n'importe quelle formule qui utilise des colonnes à – saurabh

+0

pour calculer la valeur et mettre des données dans n'importe quelle cellule. Peut-être que je demande plus mais je veux juste voir s'il est possible de le faire en Excel. Je me demandais juste que nous pouvons instruire Excel pour mettre à jour les précédents de toutes les formules et les déplacer vers le haut ou vers le bas chaque fois que l'application exporte – saurabh

+0

Je ne sais pas si Excel peut dire quelle est la formule dans la cellule, donc je ne sais pas ce que vous voulez est possible –

Questions connexes