This code works up to the start of the second iteration where SelectedArray(i) = 1 (this array can only take the values 0 or 1), then it crashes. How do I fix it?
Code:
For i = 1 To big_deep
If SelectedArray(i) = 1 Then
 
    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = True
    Set wrdDoc = wrdApp.Documents.Open("C:\My Documents\Geek Stuff\Document for Office Holder.doc")
    wrdDoc.Activate
    With wrdDoc
 
'    code that defines position_name & other stuff
 
ActiveDocument.Bookmarks("offr_name").Range.InsertBefore position_name

'  more code to populate document here
 
If Dir(ActiveWorkbook.Path & "\" & position_name & ".doc") <> "" Then
        Kill ActiveWorkbook.Path & "\" & position_name & ".doc"
        End If
        .SaveAs (ActiveWorkbook.Path & "\" & Left(position_name, 20) & ".doc")
        .Close ' close the document
    End With
 
wrdApp.Documents.Open ("C:\My Documents\Geek Stuff\Document for Office Holder.doc")
   For Each wrdDoc In Documents
    wrdDoc.Close SaveChanges:=wdSaveChanges
    Next wrdDoc
 
'    wrdApp.Close
    wrdApp.Quit
 
oXLSheet.Cells(i + 2, big_wide + 2).Select
oXLSheet.Cells(i + 2, big_wide + 2).Value = Format(Date, "d-mmm-yy")
MsgBox ("Document for " & position_name & " created")
 
 ' _________________________________________ end of creation of new doc
    
End If
ActiveWorkbook.Save
 
Next i
 
End Sub
The problem is that this all works fine for the first value of i for which SelectedArray(i) = 1 [members of SelectedArray can only take the values 0 or 1, this links up with the checkboxes the user has selected in the userform] but if the user selects two (or more) checkboxes, the routine crashes on its second pass.

The code that the routine doesn't like is the line:

Code:
ActiveDocument.Bookmarks("offr_name").Range.InsertBefore position_name
and the problem it claims it has is that there is no word document open, although in fact there is. (I inserted the message box down towards the end and also the save command to let the routine catch up with itself, but that doesn't fix the problem.)

(This code is being run from an excel file, hence the need to open an instance of Word.)

Thanks