Ответ был очень очевиден ... за исключением того, что я пропустил его, и несколько примеров в inte rnet не упомянули об этом:
StartUpPosition пользовательской формы должно быть установлено в "0" (ноль) ). Вот отредактированный макрос:
Private Sub UserForm_Initialize()
If GetSetting("My Settings Folder", Me.Name, "Left Position") = "" _
And GetSetting("My Settings Folder", Me.Name, "Top Position") = "" Then
Me.StartUpPosition = 1 ' CenterOwner
Else
Me.StartUpPosition = 0
Me.Left = GetSetting("My Settings Folder", Me.Name, "Left Position")
Me.Top = GetSetting("My Settings Folder", Me.Name, "Top Position")
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
SaveSetting "My Settings Folder", Me.Name, "Left Position", Me.Left
SaveSetting "My Settings Folder", Me.Name, "Top Position", Me.Top
End Sub