Thread: select until =
View Single Post
 
Old 01-31-2024, 08:02 PM
Guessed's Avatar
Guessed Guessed is offline Windows 10 Office 2016
Expert
 
Join Date: Mar 2010
Location: Canberra/Melbourne Australia
Posts: 4,176
Guessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant future
Default

I think it is useful to maintain some consistency so I've coded this to always do the partner paragraph so that it is minus then plus. This variation will look to see whether the paragraph contains a minus OR a plus and acts accordingly
Code:
Sub DupParaTwoWay()
  Dim aRngPara As Range, aRng As Range, iEqual As Integer, iPlus As Integer, iMinus As Integer
  Set aRngPara = Selection.Paragraphs(1).Range
  iEqual = InStr(aRngPara.Text, "=")
  iPlus = InStr(aRngPara.Text, "+")
  iMinus = InStr(aRngPara.Text, "-")
  If iEqual > 0 Then
    Set aRng = ActiveDocument.Range(aRngPara.Start, aRngPara.Start + iEqual)
    If iPlus > 0 Then
      aRngPara.InsertParagraphBefore
      aRngPara.Collapse Direction:=wdCollapseStart
      aRngPara.FormattedText = aRng.FormattedText
      If Len(aRngPara.Paragraphs(1).Range.Text) = 1 Then aRngPara.Paragraphs(1).Range.Delete
      aRngPara.Characters(iPlus).Text = "-"
    ElseIf iMinus > 0 Then
      aRngPara.InsertParagraphAfter
      aRngPara.Collapse Direction:=wdCollapseEnd
      aRngPara.MoveEnd Unit:=wdCharacter, Count:=-1
      aRngPara.FormattedText = aRng.FormattedText
      aRngPara.Characters(iMinus).Text = "+"
    End If
    aRngPara.Select
  End If
End Sub
__________________
Andrew Lockton
Chrysalis Design, Melbourne Australia
Reply With Quote