La copie de la valeur de la cellule en préservant la mise en forme d'une cellule à l'autre dans excel à l'aide de VBA
Dans excel, je suis en train de copier du texte à partir d'une cellule à une autre cellule dans une autre feuille. La source de la cellule contient du texte formaté (gras,souligné,couleurs différentes). Mais quand je copie le texte à l'aide de VBA à l'autre de la cellule, la mise en forme est perdue.
Je sais que c'est parce que excel est la copie uniquement la valeur du texte. Est-il un moyen qui nous permet de lire la texte HTML (plutôt que du texte brut) à partir d'une cellule?
J'ai googlé et n'ont pas à obtenir des réponses. Je sais que si nous utilisons des méthodes de copier et coller, on peut copier la mise en forme.
E. g.
Range("F10").Select
Selection.Copy
Range("I10").Select
ActiveSheet.Paste
Mais je veux le faire sans un copier-coller depuis ma destination est une cellule fusionnée et pas de taille identique comme source de cellules. Est-il une option disponible dans excel VBA pour ce faire?
EDIT:
J'ai été en mesure de le résoudre avec le code suivant.
Range("I11").Value = Range("I10").Value
For i = 1 To Range("I10").Characters.Count
Range("I11").Characters(i, 1).Font.Bold = Range("I10").Characters(i, 1).Font.Bold
Range("I11").Characters(i, 1).Font.Color = Range("I10").Characters(i, 1).Font.Color
Range("I11").Characters(i, 1).Font.Italic = Range("I10").Characters(i, 1).Font.Italic
Range("I11").Characters(i, 1).Font.Underline = Range("I10").Characters(i, 1).Font.Underline
Range("I11").Characters(i, 1).Font.FontStyle = Range("I10").Characters(i, 1).Font.FontStyle
Next i
OriginalL'auteur BlackCursor | 2012-08-07
Vous devez vous connecter pour publier un commentaire.
Pour copier la mise en forme:
la copie la mise en forme va casser les cellules fusionnées, de sorte que vous pouvez l'utiliser pour mettre la cellule de retour ensemble
Pour copier la valeur d'une cellule, sans copier quoi que ce soit (et de ne pas utiliser le copier/coller), vous pouvez vous adresser à l'cellules directement
autres propriétés du texte (police, couleur, etc ) peut également être copié par l'examen des propriétés de l'objet directement de la même manière
Merci @sean cheshire. L'ajout de la réponse comme une modification à la question.
Je confirme que @Sean Cheshire solution fonctionne très bien ET est également la copie des styles de police (gras, italique, souligné, couleur, etc.). Voici ce que personnellement, je n'ai dans ma macro: Plage(commentsColumnName + sSourceRowNum).Copie de Gamme(commentsColumnName + sTargetRowNum).PasteSpecial (xlPasteAllUsingSourceTheme) de l'Application.CutCopyMode = False Fonctionne comme un charme, en bouclant prend beaucoup trop de temps!
OriginalL'auteur SeanC
À L'Aide D'Excel 2010 ? Essayez
OriginalL'auteur Eric
Je préfère éviter à l'aide de select
J'ai mis à jour la réponse doit inclure les polices de la copie. L'espoir c'est ce que vous cherchez
OriginalL'auteur scott
OriginalL'auteur Ankush agarwal
De copier le Texte en Gras à Partir d'une feuille à une autre feuille excel à l'aide de VBScript
"Créer une instance de l'Objet
OriginalL'auteur Ashok Kumar Ammineni