Comment faire pour copier uniquement le texte brut de cellules dans Excel?
Je suis en train de concevoir une feuille de calcul Excel où l'utilisateur va cliquer sur un bouton de commande qui copie une plage prédéfinie de cellules. L'utilisateur, puis collez le contenu dans une application web en utilisant Firefox ou IE. La conception de l'application web est hors de mon contrôle et actuellement les zones de texte qui sont utilisés pour les données d'entrée sont riches saisies de texte. Cela provoque le texte pour paraître bizarre et formaté comme Excel lorsque l'utilisateur colle.
Est-il un moyen dans Excel en utilisant VBA copier uniquement le texte brut des cellules qui sont-ils sélectionnés? Pas de formatage, pas de dépôt ou de bordures de cellule, juste le texte et rien d'autre. Ma solution actuelle macro est de copier les cellules, l'ouverture du bloc-notes, les coller dans le bloc-notes, puis de le copier dans le bloc-notes pour obtenir le texte en clair. Ce n'est pas souhaitable et, je l'espère, il y a une façon de le faire dans Excel lui-même. S'il vous plaît laissez-moi savoir, merci!
OriginalL'auteur Eli Greenberg | 2013-09-19
Vous devez vous connecter pour publier un commentaire.
Quelque chose comme cela?
Ou
Copy
des copies de l'ensemble de la partie, mais nous pouvons contrôler ce qui est collé.Même chose s'applique à
Range
objets.MODIFIER
Autant que je sache, il n'est pas compliqué de copier seulement le texte d'une gamme sans l'affecter à un objet VBA (variable, tableau, etc.). Il y a un truc qui fonctionne pour une seule cellule et pour les nombres et le texte uniquement (pas de formules):
mais la plupart des développeurs d'éviter
SendKeys
car il peut être instable et imprévisible. Par exemple, le code ci-dessus ne fonctionne que lorsque la macro est exécutée à partir d'excel, pas deVBA
. Lorsque vous exécutez à partirVBA
,SendKeys
ouvre le navigateur d'objet, qui est ce que F2 ne quand la touche est pressée à l'VBA vue 🙂 Aussi, pour une gamme complète, vous devrez faire une boucle sur les cellules, de les copier un par un et de les coller un par un à l'application. Maintenant que je pense que mieux, je pense que c'est inutile..À l'aide de tableaux est probablement mieux. Celui-ci est mon préféré de référence sur la façon dont vous passer de plages de vba tableaux et de retour:
http://www.cpearson.com/excel/ArraysAndRanges.aspx
Personnellement, je voudrais éviter de
SendKeys
et utiliser des tableaux. Il devrait être possible de transmettre les données à partir de laVBA
de la matrice de l'application, mais difficile à dire sans en savoir plus sur l'application..Entendez-vous le texte copié dans la mémoire? Une meilleure solution que de les coller dans le bloc-notes serait de coller des valeurs d'une feuille masquée et de les copier à partir de là. Est la copie dans des tableaux d'une option?
Je n'ai jamais copié dans les tableaux avant. Comment aurait-travail/de l'aide?
Je ne suis pas sûr que je peux aider plus sans connaître les détails sur la façon VBA interfaces avec l'application Web. Par exemple, comment avez-vous actuellement de saisir les données à l'application de bloc-notes?
Oh, le VBA n'a pas d'interface avec l'application web à tous. L'utilisateur manuellement colle le texte dans l'application à l'aide du navigateur.
OriginalL'auteur Ioannis
En fait, la meilleure façon de le faire est de copier les cellules et les coller dans un bloc-notes. Le bloc-notes ne reconnaissent pas les cellules. Vous pouvez ensuite copier le texte dans toutes les cellules que vous voulez. Cela fonctionne pour copier le texte à partir de plusieurs cellules en une seule cellule.
OriginalL'auteur Dan
Si vous avez affaire à un beaucoup de cellules à copier la sélection.méthode de copie sera extrêmement lente. (Je l'ai vécu lors de l'exécution d'une macro sur 200 000 enregistrements).
100 fois plus performantes moyen est d'affecter directement la valeur d'une cellule à l'autre. Exemple de mon code:
OriginalL'auteur Lee
Cela peut être résolu facilement, sans s'embarrasser avec VBA.
L'utilisateur peut coller le contenu du presse-papiers par Ctrl + Maj + V au lieu de plus d'habitude Ctrl + V (collage en forme).
Ctrl + Maj + V colle le contenu du presse-papiers sous forme de texte brut.
OriginalL'auteur Yukio Kikuchi
Dans Excel 2013, vous pouvez le faire avec des raccourcis.
Appuyez sur Ctrl + Alt + V pour ouvrir le collage spécial fenêtre.
Maintenant, vous pouvez cliquer sur les valeurs de la radio bouton ou appuyez sur V si votre Excel est en anglais.
Si vous n'utilisez pas Excel en anglais, vous pouvez voir le bouton peut être pressé pour sélectionner le voulait option en examinant la mise en évidence de ces lettres.
Enfin appuyez sur Entrée pour coller votre sélection copiée.
OriginalL'auteur qwerty
Dans Excel, mettez en surbrillance la cellule en question.
Frapper La Touche F2.
CTRL+Maj+origine. (Cela met en évidence la cellule de l'intégralité du contenu.)
CTRL+C.
Aller à l'application de destination.
CTRL+V.
Il ressemble à beaucoup d'étapes, mais quand vous avez réellement le faire, c'est beaucoup plus rapide que d'utiliser les rubans pour faire de même.
Si vous avez besoin de copier plusieurs cellules dans une application privés du collage Spécial... installation, puis faire un régulier de copier et coller à partir d'Excel dans le bloc-notes, puis faire un copier-coller depuis le bloc-notes pour la destination. Encombrant, mais il fonctionne.
OriginalL'auteur Peter