I am trying to create a front-end form that can be filled out by a user, which will then populate a back-end spreadsheet the user cannot edit. This spreadsheet needs to follow a standard layout that I have already created, and the form will populate predetermined cells (or will create cells following the layout) based on user input from the form. I also need the form to be able to add/repeat questions, as well as duplicate sections in the spreadsheet based on user input requirements ("Do you need to add a section? [Yes/No]" //If [Yes], then duplicate section, repeat questions in form; if [No], then export data to spreadsheet, exit form). The spreadsheet layout consists of sections. The number of sections/cells per section required will vary from user to user, but the type of data will typically remain the same, and therefore should be able to choose the name of the field from a list of some sort (drop down?) However, the user may need to create a custom name for a field. I also need the form to be able to automatically adjust cell sizes based on the amount of text for that value. It is important that this form is printable, and does not separate sections from page to page. Furthermore, each "Notes" field will vary in size, and should be automatically resized to only show the existing text, plus one blank line for hand-written notes. I would also like the form to prompt the user to indicate whether a field is needed (some fields will be permanent, and the user will not be prompted about these fields). If the field is not needed, I need the form to exclude it from the final output.
Spreadsheet screenshot first page.png
The image contains the basic premise of the final layout for the data. In the red bracket (forgive my terrible drawing), you will see three sections. Each section is its own entity, but contains the same type of data. Users will typically only need these fields, but may need additional fields depending on their project. If the user needs additional sections, the form should duplicate one section at a time. The top section that is not outlined by the bracket will not need to be duplicated, and will only ever exist on the first page of the spreadsheet.
Please note: I am not asking for anyone to do the work for me. I just don't know where to start, or even if this is feasible in Excel. I am willing to use VBA, but bear with me as I haven't used VB in nearly 20 years.
Thanks for all your help.
Bookmarks