![]() |
|
#1
|
|||
|
|||
|
Hi,
I have been using this macro for a long time to copy a paragraph. Recently it has stopped working and is giving an error message: run time eroro 4605 Does anyone have any idea what happened Thanks a lot. Sub COPYPAR() 'Copy a range from the current para's start till after "=" and 'paste it after the para. Dim oRng As Range Set oRng = Selection.Paragraphs(1).Range Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With oRng.Find .Text = "=" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = False If .Execute Then oRng.Start = Selection.Paragraphs(1).Range.Start oRng.Copy Selection.Paragraphs(1).Range.Select Selection.Collapse wdCollapseEnd Selection.InsertAfter vbCr Selection.Collapse Selection.PasteAndFormat (wdFormatOriginalFormatting) End If End With End Sub |
|
#2
|
|||
|
|||
|
Your procedure seems to work here. You could try to simplifiy:
Code:
Sub COPYPAR()
Dim oPar As Paragraph, oRng As Range
Set oPar = Selection.Paragraphs(1)
Set oRng = oPar.Range
With oRng.Find
.ClearFormatting
.Text = "="
If .Execute Then
oRng.Start = oPar.Range.Start
oPar.Range.InsertAfter oRng.FormattedText & vbCr
End If
End With
lbl_Exit:
Exit Sub
End Sub
|
|
#3
|
|||
|
|||
|
I don't know why your code is getting an error, but there is a better way to achieve what you want without using the clipboard.
Code:
Sub COPYPAR()
'Copy a range from the current para's start till after "=" and
'add it after the para.
Dim selRng As Range: Set selRng = Selection.Paragraphs(1).Range
Dim copyRng As Range: Set copyRng = selRng.Duplicate
'make sure that = is found
If Not copyRng.MoveEndUntil("=", wdBackward) = 0 Then
'make sure that the = is in the same paragraph
If copyRng.InRange(selRng) Then
selRng.InsertParagraphAfter
selRng.Collapse wdCollapseEnd
selRng.FormattedText = copyRng.FormattedText
End If
End If
End Sub
|
|
#4
|
|||
|
|||
|
works great. thanks alot.
|
|
#5
|
|||
|
|||
|
Which one works great? The two posts provide different solutions.
|
|
#6
|
|||
|
|||
|
In fact, both macros work without problems.
|
|
#7
|
|||
|
|||
|
hi Greg. the solution 1 is better for me.
|
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Macro/VBA to copy text paragraph and insert as new row in summary table, with RAG | l0zzie88 | Word VBA | 2 | 01-18-2024 03:42 PM |
| Copy the entire paragraph in wildcards | asderam | Word VBA | 0 | 01-28-2021 05:54 PM |
Macro to search for a particular word, copy the entire paragraph to a new document
|
Productivity | Word VBA | 2 | 10-25-2019 06:40 AM |
Direct (copy-paste) reference from another paragraph (CITATION)
|
WordNoobx | Word | 6 | 05-15-2018 05:46 AM |
| Copy text to new document based on paragraph numbering | mike.mm | Word VBA | 7 | 11-22-2016 06:14 AM |