I don't get error 5941 but both your .InsertBefore methods quite understandably generate error 438, as they have no Range context. Besides, which, I can't see why you'd want both '.Text = TextBox1' and '.InsertBefore TextBox1', since it seems you're trying to do the same thing with both (i.e. duplicating the output). Furthermore, there are better ways to populate bookmarks; see, for example:
https://www.msofficeforums.com/word-vba/21845-cross-referencing-bookmarks-populated-userform-word-2010-a.html#post67058