It is basically a matter of defining the additional bookmark names in the main macro and repeating the marked section for each of them
Code:
Sub CopyWorksheet()
'Graham Mayor - https://www.gmayor.com - Last updated - 04 Mar 2020
Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
Dim bStarted As Boolean, bOpen As Boolean
Dim strWB As String
Dim strBM As String
Dim strSheet As String
strWB = BrowseForFile("Select Workbook", True)
If strWB = "" Then
Beep
GoTo lbl_Exit
End If
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err Then
Set xlApp = CreateObject("Excel.Application")
bStarted = True
End If
On Error GoTo lbl_Exit
xlApp.Visible = True
For Each xlBook In xlApp.Workbooks
If xlBook.Name = strWB Then
bOpen = True
Exit For
End If
Next xlBook
If Not bOpen Then Set xlBook = xlApp.Workbooks.Open(FileName:=strWB)
'Repeat this section to define each bookmark and the sheet/range you wish to copy to it
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
strBM = "BookmarkName1" ' the name of the bookmark
strSheet = "Sheet1" 'the name of the sheet to copy
Set xlSheet = xlBook.Sheets(strSheet)
xlSheet.UsedRange.Copy
If ActiveDocument.Bookmarks.Exists(strBM) = False Then
MsgBox "Bookmark " & strBM & " does not exist?"
Else
XLSheetToBM strBM
End If
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
xlApp.DisplayAlerts = False
xlApp.DisplayAlerts = True
If bStarted = True Then
xlBook.Close 0
xlApp.Quit
End If
lbl_Exit:
Set xlApp = Nothing
Set xlBook = Nothing
Set xlSheet = Nothing
Exit Sub
End Sub