Hi Joseph ... being a novice at Excel VBA, please excuse my ignorance, and let me express my appreciation for your help.
I have not used any terminate or queryclose events in my form. The only code following this is end sub lines from procedures that got us to this point.
Another observation I had made, is it will not err if I don't change any userform controls (ie textboxes) in the form. If I simply load the form, review the records without doing any editting via the userform, and save it, there is no error. If I change any of the user fields as part of the user's editting task, after saving, I get the error. It always returns the error on the first textbox control that was changed.
I question the appropriateness of using afterupdate, rather than change, for an event change.
Most of my userform textbox control change routines use the "afterupdate" event. Could that be the culprit? With the example below, "Please enter a name." will flash just prior to code break.
Private Sub wo_gm_name_afterupdate()
If Application.EnableEvents = False Then Exit Sub
If Len(wo_gm_name.Value) < 1 Then
MsgBox "Please enter a name."
End If
wshds.Range("W" & RowNo).Value = wo_gm_name.Value
wshds.Range("X" & RowNo).Value = WorksheetFunction.VLookup(wo_gm_name.Value, Worksheets("StaffMaster").Range("L4:M20"), 2, False)
End Sub
Sharing my workbook, as much as I wish I could, would be awkward. As it's part of an application, including external reference databases would be difficult, and going through the application to get to this point would be tedious for you. Hopefully this last revelation is another nail in the coffin of this problem.
Jenn
Bookmarks