Excel UDF : surmonter les limitations de la sortie de tableau
Les fonctions définies par l'utilisateur (UDF) Excel renvoient généralement une valeur scalaire, mais que se passe-t-il si vous nécessiter un UDF pour modifier d'autres cellules ? C'est un défi car il est expressément interdit aux FDU de modifier les propriétés d'une cellule, d'une feuille de calcul ou d'un classeur.
Est-ce possible ?
Contrairement à la croyance populaire, il est possible de accomplir cette tâche, mais grâce à une solution de contournement complexe. En tirant parti d'une combinaison du minuteur Windows et du minuteur Application.OnTime, nous pouvons contourner ces limitations.
Comprendre la solution de contournement
Le minuteur Windows est lancé à partir de l'UDF. Cependant, sa fonction se limite à planifier une minuterie Application.OnTime. Le minuteur Application.OnTime, approuvé par Excel, s'exécute en toute sécurité uniquement lorsqu'aucune cellule n'est en cours de modification et qu'aucune boîte de dialogue n'est ouverte.
Mise en œuvre
Pour mettre en œuvre cette solution de contournement , placez le code suivant dans un module normal :
[Code Goes Ici]
Explication détaillée
AddTwoNumbers UDF :
AfterUDFRoutine1 :
AfterUDFRoutine2 :
Conclusion
Bien qu'Excel empêche les FDU de modifier directement les cellules, cette solution de contournement fournit une solution. En utilisant une minuterie Windows et une minuterie Application.OnTime en séquence, vous pouvez surmonter ces limitations et permettre à votre UDF d'effectuer des actions qui seraient autrement impossibles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!