VBA Excel - Word Wrap
Je suis de la création d'un petit morceau de code VBA avec une formule spécifique, cependant il a un couple de if
états, dont l'un provient d'une double ligne de chaîne (avec vbNewLine
)
Le problème est que je ne peux pas voir le texte.
Donc je voulais word wrap, mais chaque fois que je le ActiveCell.WrapText = True
, rien ne se passe.
J'ai vérifié avec une boîte de message. J'ai mis le WrapText
de Vrai, j'y retourne la valeur de la propriété avec la MessageBox pour confirmer, et c'est encore Faux.
J'ai été dit d'utiliser ActiveCell.Rows.AutoFit
, mais AutoFit
ne fait rien si le texte n'est pas emballé.
Une idée de ce que je fais de mal?
- S'il vous plaît: moins d'argot et de remplissage de mots, plus de bien-formaté exemples de code. Cette question est assez difficile à lire et à comprendre, en gros, comme. Whassup wit dat?
Vous devez vous connecter pour publier un commentaire.
essayer:
Il a travaillé pour moi. Assurez-vous que votre screenupdating est également définie sur true.
Pour moi, le code ci-dessous travaillé. (seulement défini pour modifier la ligne d'en-tête (changement de gamme))
Udf (procédures d'utilisation de la Fonction de mot-clé) seules les valeurs de retour. Ils ne peuvent pas modifier d'autres parties du modèle objet d'Excel, comme la mise en forme de cellule. Seuls les sous-programmes (procédures qui utilisent le mot clé Sub) peut le faire.
Vous devez avoir vos cellules de mise en forme correctement avant de vous entrer dans votre système de fichiers. Ou vous pouvez utiliser une feuille de calcul événement de changement de sous pour les mettre en forme après le fait.
Activer/désactiver le retour à la ligne pour l'ensemble de la feuille de ligne peut être fait en VB code indiqué ci-dessous:
Si la première ligne est définie sur true, excel hérite de cette propriété pour l'ensemble de la feuille, sauf si vous éteint à l'aide d'un autre code.
Pour désactiver l'emballage des biens d'une ligne spécifique:
Je soupçonne que vous essayez de placer du texte dans les cellules fusionnées. Si oui, vous ne pouvez pas simplement appeler:
Au lieu de cela, vous avez pour simuler l'emballage des opérations. J'ai trouvé le code de http://blog.contextures.com/archives/2012/06/07/autofit-merged-cell-row-height/ m'a aidé à l'année dernière.
Cela peut ne pas être exactement ce que l'OP avait dans l'esprit, mais j'ai pensé que je vous ferais partager mon VBA retour fonction puisque je ne pouvais pas trouver quoi que ce soit sur le web pour faire ce que je voulais.
Cette fonction insérer CR+LF's dans la chaîne afin de l'envelopper, de sorte que le retour automatique à la ligne est maintenue si le texte est copié dans une autre application, à base de texte ou autre.
La valeur par défaut largeur maximale de 115 caractères, mais peut éventuellement être modifié pour quoi que ce soit. Seulement sauts sur des espaces (la dernière en date qui s'affiche sur/avant de la position n ° 115), et il n'insère CR + LF's (avec la constante
vbCrLf
), mais ils peuvent être adaptés selon les besoins.Comme exemple d'application, j'ai été la construction complexe des requêtes SQL dans Excel et je voulais copier le SQL sur le serveur d'application soignée & bien rangé, au lieu d'un géant de la ligne.