The best thing, for me, is to have a catalog of operations and questions or possible questions, all stored on a sheet. It would be simpler to update the catalog on the sheet than inside the userform with controls or pages.
For example if you create a new operation, with your idea you would have to create a page in the userform with all its controls and the code for the new page to work. With my idea you just have to add the record in the operations sheet.
Continued with my idea
Sheet "Operations"
[TABLE="class: grid, width: 650"]
<colgroup><col><col><col></colgroup><tbody>[TR]
[TD][/TD]
[TD="align: center"]A[/TD]
[TD="align: center"]B[/TD]
[TD="align: center"]C[/TD]
[/TR]
[TR]
[TD="align: center"]1[/TD]
[TD="align: center"]
Type[/TD]
[TD="align: center"]
Question[/TD]
[TD="align: center"]
Input[/TD]
[/TR]
[TR]
[TD="align: center"]2[/TD]
[TD]Laser[/TD]
[TD]Do you need a new fixture[/TD]
[TD]Y[/TD]
[/TR]
[TR]
[TD="align: center"]3[/TD]
[TD]Laser[/TD]
[TD]Do you need to add extra to the length for cleanup?[/TD]
[TD]Y[/TD]
[/TR]
[TR]
[TD="align: center"]4[/TD]
[TD]Laser[/TD]
[TD]Do you need some[/TD]
[TD]N[/TD]
[/TR]
[TR]
[TD="align: center"]5[/TD]
[TD]Laser[/TD]
[TD]Do you need another thing[/TD]
[TD]N[/TD]
[/TR]
[TR]
[TD="align: center"]6[/TD]
[TD]Mill[/TD]
[TD]Do you need a new fixture[/TD]
[TD]Y[/TD]
[/TR]
[TR]
[TD="align: center"]7[/TD]
[TD]Mill[/TD]
[TD]Do you need to add extra to the length for cleanup?[/TD]
[TD]Y[/TD]
[/TR]
[TR]
[TD="align: center"]8[/TD]
[TD]Outsource[/TD]
[TD]Do you need a new fixture[/TD]
[TD]Y[/TD]
[/TR]
[TR]
[TD="align: center"]9[/TD]
[TD]Outsource[/TD]
[TD]Do you need to add extra to the length for cleanup?[/TD]
[TD]Y[/TD]
[/TR]
[TR]
[TD="align: center"]10[/TD]
[TD]Saw[/TD]
[TD]Do you need a new fixture[/TD]
[TD]Y[/TD]
[/TR]
[TR]
[TD="align: center"]11[/TD]
[TD]Saw[/TD]
[TD]Do you need to add extra to the length for cleanup?[/TD]
[TD]Y[/TD]
[/TR]
[TR]
[TD="align: center"]12[/TD]
[TD]Saw[/TD]
[TD]Do you need some[/TD]
[TD]N[/TD]
[/TR]
</tbody>[/TABLE]
Now you need a combobox2 for the questions and textbox1 for the input
Code:
Private Sub ComboBox1_Change()
'
'When you select an operation, the different questions are loaded in the combo2
'
ComboBox2.Value = "" 'combo to questions
ComboBox2.Clear
TextBox1.Value = "" 'to input from user
If ComboBox1.Value = "" Or ComboBox1.ListIndex = -1 Then Exit Sub
Set h = Sheets("Operations")
For i = 2 To h.Range("A" & Rows.Count).End(xlUp).Row
If h.Cells(i, "A").Value = ComboBox1.Value Then
ComboBox2.AddItem h.Cells(i, "B").Value
End If
Next
End Sub
'
Private Sub CommandButton1_Click()
'
'validate input from user
'
Set h = Sheets("Operations")
For i = 2 To h.Range("A" & Rows.Count).End(xlUp).Row
If h.Cells(i, "A").Value = ComboBox1.Value And _
h.Cells(i, "B").Value = ComboBox2.Value And _
h.Cells(i, "C").Value = "Y" Then
If TextBox1.Value = "" Then
MsgBox "Entry is required for this operation"
TextBox1.SetFocus
Exit Sub
End If
End If
Next
'
'Any other code goes here
End Sub
'
Private Sub UserForm_Activate()
'
'Load combobox1 whit operations
'
Set h = Sheets("Operations")
For i = 2 To h.Range("A" & Rows.Count).End(xlUp).Row
Call Agregar(ComboBox1, h.Cells(i, "A").Value)
Next
End Sub
'
Sub Agregar(combo As ComboBox, dato As String)
'add unique item
For i = 0 To combo.ListCount - 1
Select Case StrComp(combo.List(i), dato, vbTextCompare)
Case 0: Exit Sub
Case 1: combo.AddItem dato, i: Exit Sub
End Select
Next
combo.AddItem dato
End Sub
Test in a new userform and we will strengthen what you need