Le lien de la cellule dans une autre feuille montre 0, mais une autre feuille montre que datatables ne peuvent pas dépasser cette

Heures passées à la search de toute mention, mais pas de chance. Peut-être que quelqu'un connait la réponse. J'ai développé une grande application dans Excel. sheet1 reçoit des données d'un server Com qui le place juste là-bas. Cela fonctionne depuis longtime sans problème. J'ai deux feuilles2 avec des liens de la feuille 1 et des formules. La plupart du time, je fais tout le traitement dans l'événement de modification de la feuille 1 parce que j'ai des references circulaires lors de la mise en fonctions dans une cellule. D'hier, j'ai un problème que la cellule de la feuille 2 montre 0. Lorsque je passe dans la cellule liée, elle possède des données. Parfois, des nombres et parfois du text dépendent, mais la feuille 2 montre 0.

En plus des cellules liées, j'écris également pour scinder certaines données avec un process séparé et placer la feuille 3 pour relier toutes les autres cellules, de sorte que sheet2 contiendra des liens qui forment ces données. J'ai passé aujourd'hui à changer cela afin de placer datatables directement dans la feuille1 au lieu de créer des liens. C'est fastidieux et causera d'autres problèmes. J'ai vérifié les options -> formules. À l'heure actuelle, il est défini dans les itérations maximales 100; changement maxi 100. J'avais réduit les itérations maximales pour arrêter certaines fonctions se déclenchant de manière récursive à travers l'événement de changement de feuille. Maintenant, je l'ai renvoyé à 100. J'ai supprimé toutes datatables enregistrées, la feuille a recommencé et la même chose est revenue. Par exemple, la cellule de la feuille 1 "A1" a une valeur de 10 cellules de la feuille2 a1 a une formule de = 'feuille1'! A1 feuille 2 cellule A1 montre 0 lorsque je regarde dans la barre de formule, je vois la formule

Ces données ont été endommagées jusqu'à la ligne 42, la dernière ligne qui avait conservé des données. ci-dessous que le formatting conditionnel était la couleur correcte, même si les formules semblaient identiques et je ne pouvais rien ne pas expliquer, je traînais à nouveau la formule à partir de 44 et tout fonctionnait, mais bizarrement, lorsque j'ai copié des cellules 1 à 44 et des feuilles J'ai collé un lien, j'ai toujours 0. Lorsque je lance le système et que COM Erver délivre une charge et que l'événement de changement se triggers, etc., je retrouve le même problème.

Maintenant, lorsque j'ajoute une nouvelle feuille et que je colle mes liens à partir de sheet1, cela fonctionne comme il se doit. À l'heure actuelle, après mes tentatives pour le corriger. Toutes les colonnes de la feuille1 et de la feuille2 sont formatées en général, mais j'ai déjà eu un text de colonne et un autre nombre. Je ne peux pas contrôler le format de la feuille1 car Excel ne s'adapte que sur datatables qu'elle reçoit, peu importe ce que je fais. Je garde également le contrôle pour les events application.enable et ce n'est pas le problème, mais la feuille de calcul ne calcule pas et dans les options J'ai un set de claculation automatique La seule autre routine exécutée sous la modification de feuille dans la feuille 2 est un tidyup qui efface les anciennes données après le server COM a livré un nombre plus petit de lignes. Il copy datatables par défaut des cellules non utilisées dans la feuille. J'ai placé le bon formatting et le défaut tel que vierge ou 0 en fonction de ce qui est requirejs. Ce n'est pas le cas dans le passé qui a causé des problèmes et je ne vois pas ce qu'il pourrait faire, mais auparavant, lorsque j'ai essayé de mettre "dans les cellules à effacer, cela a provoqué des erreurs d'erreur méchantes. mais pas maintenant.

Quelqu'un a-t-il une idée?

Cette petite routine le corrige. Sub fixformulas () 'réparer les formules brisées par excel pour une raison quelconque Cells.Replace What: = "=", Replacement: = "=", LookAt: = xlPart, SearchOrder _: = xlByRows, MatchCase: = False, SearchFormat: = False , ReplaceFormat: = False End Sub

Tout ce que je peux comprendre, c'est que lorsque Excel copy les formules et les remet en place, elle corrompt le signe égal. Tout le rest va bien mais, au fur et à mesure que je remplace, les lumières s'allument.

Je préfère savoir comment l'empêcher, mais j'espère que personne d'autre ne souffre comme moi.

Je ne sais pas si cela est toujours pertinent, mais j'ai eu le même problème et suis venu chercher une réponse.

Dans mon cas, j'ai réalisé que la cellule que j'essayais de copyr était une cellule fusionnée (c'est-à-dire qu'elle fournissait une gamme), la formule était [= 'Sheet1'! B10: N10] et le résultat était 0 et non le text que je voulais. alors j'ai changé la formule à = 'USA-CA'! B10 et cela a fonctionné.

J'espère que cela est utile à quelqu'un d'autre.