J'aurais juré que je l'ai dépouillé CRLF dans le passé, mais ne sais pas pourquoi ce qui suit ne fonctionne pas:Pourquoi ne pas VBA fonction Replace travail avec CRLF dans Word et Excel
myString = "ABC" & vbCrLf & "DEF"
str1 = Replace(myString, vbLf, "")
str2 = Replace(str1, vbCrLf, "")
str3 = Replace(str2, vbNewLine, "")
MsgBox str3
Le code ci-dessus doesn « t travailler le résultat est:
ABC
DEF
myString = "ABC" & vbCrLf & "DEF"
str1 = Replace(myString, Chr(13), "")
str2 = Replace(str1, Chr(10), "")
MsgBox str2
le code précède ne fonctionne le résultat est:
ABCDEF
Solution: Merci @ Mat pour la réponse (Le problème sur le premier code était l'ordre que je tentais de supprimer les éléments) VbCrLf & vbNewLine est la même et essayer de supprimer le combo vbCr + vbLf après le retrait vbLf ne fonctionnera pas
Wow c'était la commande. Merci beaucoup pour cette précision. Je n'y ai jamais pensé de cette façon (cette fois-ci) mais je l'ai utilisé dans le passé et j'y ai dû réfléchir plus logiquement. Merci encore –
@MickeyD bien ... ce n'était pas * l'ordre. Votre code a supprimé 'vbLf' et laissé' vbCr' dans la chaîne; tout autre remplacement impliquant 'vbCrLf' et' vbNewLine' était non-op. Règle générale, si vous utilisez Windows, vous n'avez pas besoin de vous préoccuper de 'vbCr',' vbLf' ou 'vbCrLf' - il suffit d'utiliser' vbNewLine' et tout fonctionnera. Si le premier remplacement était pour 'vbNewLine', alors tout autre remplacement' vbCrLf' ou 'vbCr' ou' vbLf' serait également non-op. Notez également 'vbNullString' au lieu de' "" '; ce dernier est alloué 2 octets entiers, le premier est un pointeur nul de 0 octet. –
@Matt merci, mais je dois expliquer poliment clairement la façon dont je voulais l'expliquer. Pensez-y de cette façon. Si j'avais utilisé str2 = Replace (myString, vbCrLf, "") d'abord, cela aurait marché. Je l'ai juste essayé par lui-même et ça a bien fonctionné. Je n'avais pas besoin de les supprimer individuellement: VbCr ou VbLf. Il n'y aurait pas de chr (10) ou chr (13) à enlever dans les étapes suivantes, donc si je voudrais essayer de les supprimer après, mon résultat sera toujours correct, mais il aurait gaspillé 2 lignes de code supplémentaires. Voyez-vous ce que je dis? –