Le texte non enveloppé ne coule pas dans les cellules liées


2

J'ai lié des cellules dont le texte coule pour vider les cellules adjacentes de l'original.

Dans la feuille de destination, les cellules vides affichaient des 0 et le texte suivi disparaissait.

La suppression des 0 dans les options Excel n'a pas résolu le problème. Il apparaît que le lien lui-même dans les cellules de destination arrête le retour à la ligne.

Le seul moyen de voir le texte est de supprimer le lien, mais il ne sera pas mis à jour si je modifie l'original.

Est-ce que quelqu'un connaît une solution de contournement pour forcer la cellule de destination à circuler si la cellule adjacente d'origine est vide (c'est-à-dire que la valeur du lien renvoie 0)?

Ou (2ème choix) pour forcer les cellules de destination sélectionnées à circuler indépendamment du contenu des cellules adjacentes?


1
Je ne suis pas sûr de suivre votre question, mais le texte (et uniquement le texte) sera transféré dans les cellules adjacentes, mais uniquement si les cellules adjacentes sont vides. Si la cellule adjacente contient quelque chose, y compris 0, null ("") ou quoi que ce soit d'autre, le texte ne circulera pas. Si je ne comprends pas la question, il serait utile d'inclure une capture d'écran ou de décrire complètement les cellules source et cible et les cellules adjacentes.
fixer1234

Réponses:


0

Je pense que @ fix1234 l'a décrit correctement,

Le texte n'entre que vide cellules. Biche vide ne pas inclure 0, blanc ou contenant une formule qui donne blanc, zéro, "" ou autre chose.

Donc, la seule option est de retirer les formules (et tout le reste) dans les cellules vers lesquelles vous souhaitez que le flux (ce qui pourrait ne pas vous aider ... mais c'est la limitation)


0

Je suis largement d'accord avec l'autre réponse - ce n'est pas quelque chose qu'Excel fait nativement. J'ai cependant quelques suggestions:

I. Fonctions de la feuille de calcul

Sur la fiche de destination,

  • mettre =IF(A1<>"", LEFT(A1,5), "") dans la première cellule,
  • mettre =IF(B1<>"", LEFT(B1,5), MID(A1,6,5)) dans la deuxième cellule,
  • mettre =IF(C1<>"", LEFT(C1,5), IF(B1<>"", MID(B1,6,5), MID(A1,11,5))) dans la troisième cellule,
  • etc.

remplaçant A1, B1, C1, etc., avec les références à la feuille source. C'est-à-dire que vous feriez le texte (sur) qui coule "manuellement". Cela aura l'air hideux, sauf si vous utilisez une police à largeur constante, tels que Courier ou Consolas, et ajustez la largeur des colonnes à 5 caractères dans la police sélectionnée (ou ajustez le 5 en fonction de la largeur des colonnes). Si vous souhaitez que les largeurs de colonne soient différentes, cela devient plus compliqué.

Si vous voulez que le texte soit renvoyé à la ligne lorsqu'il ne peut pas déborder, cela devient beaucoup plus compliqué.

II. VBA

Non plus:

  1. Abandonnez l’idée d’utiliser Excel pour lier une cellule à une autre. Définissez un sous-programme VBA pour copier la feuille source dans la feuille de destination.
  2. Ecrivez un sous-programme VBA pour faire ce que l’autre réponse suggère - Pour chaque cellule de la feuille de destination, Regardez la cellule correspondante dans la feuille source. Si la cellule source est vide, définissez la cellule de destination correspondante sur vide. Si la cellule source n'est pas vide, définissez la cellule de destination correspondante sur une référence à la cellule source.

Vous voudrez peut-être faire fonctionner l’un ou l’autre chaque fois que vous changez la feuille source; ou vous pouvez le faire sur demande. Vous devriez réfléchir à la façon de gérer les cellules sources qui évalue à une chaîne vide sans être vide; par exemple, ils contiennent ="" ou quelque chose comme =IF(Q42>=100, "red hot", "").

Mon opinion personnelle: l'option 2 est meilleure.


P.S. Vous voudrez peut-être regarder Afficher un blanc lors de la référence à une cellule vide dans Excel , si vous ne l’avez pas déjà fait. Autant que je sache, il ne répond pas directement à votre question, mais sa discussion sur des sujets connexes pourrait vous être utile.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.