Last time I have used Excel forms was some 15 years ago, so I am not sure will it work or not, but you can try this:
Activate the sheet with data, and create form;
Create an empty sheet, and move form there (this is where I am not sure how this works - remains the form linked to original sheet or not;
Hide original sheet. In case you want only to prevent occasional entries directly into sheet, you can use simple Hide Worksheet option. In case you want to prevent any possibility the user is purposely making original sheet visible and then editing it, open VBA editor (Alt + F11), in sheet properties (in VBA project window at left select the sheet, below VBA project window Properties window must be visible - when not, then activate it from View menu) set sheets Visible property to xlSheetVeryHidden (the sheet is not listed in Unhide list when sheet is Very Hidden), Then right-click on <VBAProject (YourWorkbook)> in VBA project window, select VBA Project properties from drop-down, and protect the project with password. After you save your workbook now, on next opening whenever user tries Alt+F11, the password you entered when you protected VBA project, is asked. (Be sure you have stored this password somewhere - compared with worksheet passwords it is more difficult to hack.)
When users must see data in table on original sheet, create a report sheet which reads data from original sheet (this can be the sheet to where you dragged the form). My advice is you use an ODBC query for this - users can refresh the query selecting refresh from right-click dropdown on QueryData table, or select Refresh All from Data menu. And you can set the query to be refreshed on opening.
|