I have looked at your issue and I suspect the problem lies with the way you copy and save the worksheet 'Form'.
I tried the following:
A Source workbook with three worksheets:
Input, Data and Form
On the Form sheet is a button labelled "Password"
The button was renamed in Properties to: PasswordButton
The code for this test was just:
Private Sub PasswordButton_Click()
Dim varMsg As Variant
varMsg = InputBox("Enter your password")
ActiveSheet.Range("A1").Value = varMsg
On the Input sheet I had a button labelled Copy and Save
The button was renamed in Properties to: CopyAndSave
The code for this is minimal, but hopefully it shows the essential steps:
Private Sub CopyAndSave_Click()
'copy some data to the Form
'Copy the whole 'Form' worksheet (this method makes
'a new workbook with the copied worksheet)
'This new workbook is the last one in the collection,
'so access it by the number of workbooks open
'then rename it and save
Looking at the VB window, the SaveAndCopy code is attached to the Input sheet and the Password button code is attached to the Form sheet.
I now saved and closed the original source workbook - the one with three worksheets.
I closed the new Form001.xls workbook.
I then moved this Form workbook to a different folder (on a different drive). I closed Excel.
Then I opened Form001.xls from the new location and the Password button runs OK.
In the VB window the code is attached to the Form sheet in Form001.xls.
I think that the key is the method to copy the Form worksheet and save it as a new workbook.
Worksheets("Form").Copy copies the whole worksheet and makes the new workbook, and includes any VB code that belonged to the Form worksheet.
Hope this helps.