No - the 'UpdateBookmark' needs to be a separate sub - you now have one sub inside another.
Code:
Private Sub CommandButton1_Click()
Dim i As Long, StrOut As String
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
StrOut = StrOut & ListBox1.List(i) & vbCr
End If
Next i
Call UpdateBookmark("bm1", StrOut)
End Sub
Sub UpdateBookmark(StrBkMk As String, StrTxt As String)
Dim BkMkRng As Range
With ActiveDocument
If .Bookmarks.Exists(StrBkMk) Then
Set BkMkRng = .Bookmarks(StrBkMk).Range
BkMkRng.Text = StrTxt
.Bookmarks.Add StrBkMk, BkMkRng
End If
End With
Set BkMkRng = Nothing