Comment coller du text avec des puces, des caractères gras et des lignes de rupture dans une seule cellule Excel à l'aide du code VBA?

Je veux faire l'équivalent de la sélection d'une cellule dans une feuille, en appuyant sur F2 puis sur CTRL + V, de sorte que tous les formats tels que les balises, les caractères gras et les lignes de déconnection soient conservés et collés dans une seule cellule. Veuillez noter que je ne copy pas des feuilles excel, plutôt que d'utiliser excel vba pour copyr à partir d'un document Word.

J'ai essayé:

Sheets(1).Cells(1,1).Select SendKeys "{F2}", True SendKeys "v", True Application.Wait(Now + TimeValue("0:00:5")) Sheets(1).Cells(1,2).Select 

Mais le code ci-dessus colle dans la cellule (1,2) de la feuille active au lieu de (1,1). Veuillez suggérer une autre méthode pour cela.

Pour copyr et coller une cellule "préserver la mise en forme" (c.-à-d. En gras, souligné, colonne de text, nouvelles lignes, caractères spéciaux (points de balle), etc. Vous pouvez utiliser la macro d'logging pour créer un code comme le suivant, qui est simple, copyz, collez. il n'est pas nécessaire d'appuyer sur F2 (car cela ne vous donnera que l'access à la valeur brute – pas le formatting):

 Range("C3").Select Selection.Copy Range("D6").Select ActiveSheet.Paste 

en modifiant cet exemple pour vos besoins:

 With Sheets(1) .Cells(1, 1).Copy .Cells(1, 2).Select .Paste end with 
 SendKeys "^v", True 

Cela enverra Ctrl + v. Vous ne devriez pas avoir besoin de la command Wait car l'argument {True} pour {SendKeys} indique à Excel d'attendre jusqu'à ce qu'il soit terminé avant de continuer à continuer avec la macro. Je ne suis pas sûr de savoir s'il existe une meilleure façon de faire cela qui n'implique pas SendKeys, sauf si vous souhaitez coller dans plusieurs cellules, puis les combiner.