![]() |
|
|||||||
|
|
|
Thread Tools | Display Modes |
|
|
|
#1
|
|||
|
|||
|
It's not clear what you want to to with the numerals, but the following code will remove the gaps in the text and remove the empty paragraphs preceding the numerals:
Code:
Sub CleanUpBlankLines()
' Finds paragraph marks and spaces between broken paragraphs and removes them
' Finds empty paragraphs preceding numerals and removes them, too
Application.ScreenUpdating = False
Dim oRange As Range
Set oRange = ActiveDocument.Range
With oRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.MatchWildcards = True
' Remove gaps in text:
.Text = "([!0-9] )([^13 ]{1,})([!0-9])"
.Replacement.Text = "\1\3"
.Execute Replace:=wdReplaceAll
' Remove spaces between empty paragraphs, in preparation
' to remove paragraphs preceding numbers:
.Text = "(^13)( {1,})(^13)"
.Replacement.Text = "\1\3"
.Execute Replace:=wdReplaceAll
' Remove empty paragraphs preceding numbers:
.Text = "([^13]{2,})([0-9])"
.Replacement.Text = "^13\2"
.Execute Replace:=wdReplaceAll
End With
With oRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.MatchWildcards = False
End With
Set oRange = Nothing
Application.ScreenUpdating = True
End Sub
Last edited by Peterson; 04-19-2022 at 08:29 AM. |
|
#2
|
|||
|
|||
|
Quote:
Thank you Mr. Peterson No, Mr. Peterson, I put these numbers in order to know that there are multiple cases of my problem for example, in case 1, there is a single return mark between the broken paragraph in case 2, there are multiple return marks between the broken paragraph and so So the numbers (1,2,3) are just for differentiation of paragraphs (cases) and not included in my text, so I'm sorry for this misunderstanding. |
|
#3
|
|||
|
|||
|
Dear Peterson, after applying your code, I think this portion of your code is not necessary at least according to my case
, so I will remove it.Quote:
Code:
Sub GapRemoving4Paragraph()
' Finds paragraph marks and spaces between broken paragraphs and removes them
Application.ScreenUpdating = False
Dim oRange As range
Set oRange = ActiveDocument.range
With oRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.MatchWildcards = True
' Remove gaps in text:
.Text = "([!0-9] )([^13 ]{1,})([!0-9])"
.Replacement.Text = "\1\3"
.Execute Replace:=wdReplaceAll
End With
With oRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.MatchWildcards = False
End With
Set oRange = Nothing
Application.ScreenUpdating = True
End Sub
See attached file |
|
| Tags |
| word 19, word vba, word vba code |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| a macro to replace paragraph mark with a space applies effect on paragraph marks after the selection | drrr | Word VBA | 2 | 08-24-2021 03:05 AM |
Delete comma and space after blank merged value. Also remove Previous space and word before blank
|
Alex1s85 | Mail Merge | 4 | 01-18-2020 11:30 PM |
Large first character in paragraph causing extra line space
|
dustnik | Word | 11 | 09-04-2019 12:47 AM |
| Add a heading for each paragraph depending on the previous paragraphs numbering | herman | Word | 4 | 07-15-2019 09:48 PM |
Word thinks 1 sentence is 2 paragraphs and won't let me delete the extra paragraph symbol
|
jrasicmark | Word | 1 | 12-05-2014 01:50 AM |