Quelqu'un a créé un document texte dans Excel comme si c'était sur une machine à écrire. Ils ont écrit à la fin de l'écran puis appuyez sur Entrée.
J'aimerais mettre chaque paragraphe dans sa propre cellule puis copier et coller sur Word. P>
J'ai essayé d'enregistrer une macro, mais ça obtient coincé entre les paragraphes (l'auteur a sauté une ligne entre les paragraphes). Mes recherches montrent des cellules concaténantes une à la fois, ce qui ne m'aidera pas avec environ 1000 lignes de texte. P>
Le VBA serait quelque chose comme: p> après sa ressemblance: p>
3 Réponses :
En supposant que mes hypothèses sont correctes, essayez ce qui suit: p>
copiez tout sur Word. p> li>
Faire une recherche / remplacement pour deux retours de chariot ( Faire une recherche / remplacement pour les retours de chariot unique ( faire trouver / remplacer votre chaîne de placement ( Vous devrez peut-être faire une recherche / remplacer sur des doubles espaces et les remplacer par des espaces simples. P> li>
ol>
Après la vérification et peut-être de peaufiner, vous devriez être fait. P> ^ p ^ p code>) et remplacez-les par une chaîne de placement (Ex.: %%%%% code >, tout va faire aussi longtemps que ce ne sera pas dans votre document) p> li>
^ p code>) et remplacez-les par un seul espace ( code>) p> li>
%%%%% code> dans mon exemple ci-dessus) et remplacez-le avec deux retours de chariot ( ^ p ^ p code>) p> li>
Merci! Cela me conduisait Bonkers. Je vous en suis reconnaissant! M'a sauvé quelques heures de le faire manuellement!
Une fois, j'ai dû le faire régulièrement, alors je me suis transformé en macro que j'ai gardé dans mon modèle local!
Une autre option
option supplémentaire, le texte peut être copié à partir de la fenêtre immédiate après avoir exécuté la macro. Vous pouvez accéder à cette vitrage via la vue ou CTRL + G dans la fenêtre de développeur VBA.
Sub Concatenate_Text()
Dim i As Long
Dim lastrow As Long
Dim paragraph As String
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Worksheets("Sheet1")
lastrow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For i = 1 To lastrow
If IsEmpty(ws.Cells(i, "A")) = False Then
paragraph = paragraph & " " & ws.Cells(i, "A").Value & " " & ws.Cells(i + 1, "A").Value
i = i + 1
Else: paragraph = paragraph & vbCrLf
End If
Next i
Debug.Print paragraph
End Sub