PDA

View Full Version : [SOLVED:] Duplicating/modifying text to prevent endless retyping



SteveSmith98
11-15-2019, 07:58 AM
Hello,

Currently my group performs a daily database search with specific terms only,(database limitations require this) causing us to have to retype the same information over and over each day. What I'm hoping for is a macro that can do the following:

Duplicate and modify highlighted text as follows:

00001 ---> "0001", "00001B", "00001C", "00001D", "00001E", "00001F", "00001G"

In our case the quotations, commas, spacing, and letters are specific and exactly what is needed for our search. Often times we will have up to 2 dozen of these batch numbers, so if the macro could be used on an entire block of numbers to generate one long list that can be copy pasted into our search bar that would be best; i.e.

00001
00002
00003
....

Turns into:

"0001", "00001B", "00001C", "00001D", "00001E", "00001F", "00001G", "0002", "00002B", "00002C", "00002D", "00002E", "00002F", "00002G", "0003", "00003B", "00003C", "00003D", "00003E", "00003F", "00003G", ...

I've tried searching/learning for this sort of Macro but am clearly out of my element.

Thank you!
Steve

Mavila
11-15-2019, 12:51 PM
If that's exactly how it's done on the document and
as long as it's A-G and that never changes, it should be pretty straight forward.

Check this out (someone more talented could probably do it more elegantly):

Sub process()
Dim myPar As Paragraph
Dim myStr As String
Dim myStr2 As String
For Each myPar In ActiveDocument.Paragraphs
myPar.Range.Select
Selection.End = Selection.End - 1
If Selection Like "#####" Then
myStr = Selection
If myStr <> "" Then
myStr = Chr(34) & myStr & Chr(34) & ", " & Chr(34) & myStr & "A" & Chr(34) & ", " & Chr(34) & myStr & "B" & Chr(34) & ", " & Chr(34) & myStr & "C" & Chr(34) & ", " _
& Chr(34) & myStr & "D" & Chr(34) & ", " & Chr(34) & myStr & "E" & Chr(34) & ", " & Chr(34) & myStr & "F" & Chr(34) & ", " & Chr(34) & myStr & "G" & Chr(34)
If myStr2 = "" Then
myStr2 = myStr
Else
myStr2 = myStr2 & ", " & myStr
End If
End If
End If
Next
MsgBox myStr2
Selection.WholeStory
Selection = myStr2
End Sub

SteveSmith98
11-19-2019, 07:07 AM
Mavila, elegant or not this worked like a charm. Thank you for the hours of my life you have given me back.