Thanks for your patience gmayor. I think I did not explain very well what I was trying to achieve.


When an option from Combobox1 is selected :-

Requires further investigation, Urgent review, Manageable risk, For Noting Only

It is the TextBox2 'change' text that is shown in the UserForm.

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. In rhoncus, lorem et fringilla dictum, orci orci posuere lacus, ut auctor libero neque non purus. Fusce a commodo ligula." or

"Proin sed nisl enim. Cras in nisl tempus, scelerisque mi id, vulputate arcu. Duis nec mi ac lorem pretium semper." etc.

This is to enable the person to make some final tweaks to the text in the UserForm TextBox2 before committing it to the document.


Option Explicit

'Cancel button
Private Sub CancelBut_Click()
    Unload Me
End Sub

'Reset button
Private Sub ResetBut_Click()
    Dim ctl         As MSForms.Control
    
    For Each ctl In Controls
        Select Case TypeName(ctl)
            Case "TextBox"
                ctl.Text = ""
            Case "CheckBox", "OptionButton", "ToggleButton"
                ctl.Value = True
            Case "ComboBox", "ListBox"
                ctl.ListIndex = 0
        End Select
    Next ctl
End Sub

'Enter button
Private Sub EnterBut_Click()
    Dim oThreat     As Range, oHarm As Range, oOpportunity As Range
    Dim oRisk       As Range, oCaseReview        As Range, oReason        As Range
    
    'Check required fields are filled out
    
    If TextBox2.Text = "" Then
        MsgBox "Provide reason For further review", vbCritical, "Triage Hub"
        TextBox2.SetFocus
        Exit Sub
    End If
    
    If ComboBox2.ListIndex = 0 Then
        MsgBox "Select threat level", vbCritical, "Triage Hub"
        ComboBox2.SetFocus
        Exit Sub
    End If
    
    If ComboBox3.ListIndex = 0 Then
        MsgBox "Select harm level", vbCritical, "Triage Hub"
        ComboBox3.SetFocus
        Exit Sub
    End If
    
    If ComboBox4.ListIndex = 0 Then
        MsgBox "Select opportunity level", vbCritical, "Triage Hub"
        ComboBox4.SetFocus
        Exit Sub
    End If
    
    If ComboBox5.ListIndex = 0 Then
        MsgBox "Select risk level", vbCritical, "Triage Hub"
        ComboBox5.SetFocus
        Exit Sub
    End If
    
    'use FillBM function to write to bookmarks
    FillBM "CaseReview", TextBox1.Text
    FillBM "Reason", TextBox2.Text
    FillBM "Threat1", TextBox3.Text
    FillBM "Harm1", TextBox4.Text
    FillBM "Opportunity1", TextBox5.Text
    FillBM "Risk1", TextBox6.Text
    FillBM "Threat", ComboBox2.Value, ComboBox2.BackColor
    FillBM "Harm", ComboBox3.Value, ComboBox3.BackColor
    FillBM "Opportunity", ComboBox4.Value, ComboBox4.BackColor
    FillBM "Risk", ComboBox5.Value, ComboBox5.BackColor
    
    Set oThreat = Nothing
    Set oHarm = Nothing
    Set oOpportunity = Nothing
    Set oRisk = Nothing
    Set oReason = Nothing
    Set oCaseReview = Nothing
    Unload Me
lbl_Exit:
    Exit Sub
End Sub

'Change colour of dropdown
Private Sub ComboBox2_Change()
    With ComboBox2
        Select Case .ListIndex
            Case 0: .BackColor = &H80000005: .ForeColor = &H80000008
            Case 1: .BackColor = &HFF&: .ForeColor = &H80000005
            Case 2: .BackColor = &H80FF&: .ForeColor = &H80000005
            Case 3: .BackColor = &H8000&: .ForeColor = &H80000005
        End Select
    End With
lbl_Exit:
    Exit Sub
End Sub

'Change colour of dropdown
Private Sub ComboBox3_Change()
    With ComboBox3
        Select Case .ListIndex
            Case 0: .BackColor = &H80000005: .ForeColor = &H80000008
            Case 1: .BackColor = &HFF&: .ForeColor = &H80000005
            Case 2: .BackColor = &H80FF&: .ForeColor = &H80000005
            Case 3: .BackColor = &H8000&: .ForeColor = &H80000005
        End Select
    End With
lbl_Exit:
    Exit Sub
End Sub

'Change colour of dropdown
Private Sub ComboBox4_Change()
    With ComboBox4
        Select Case .ListIndex
            Case 0: .BackColor = &H80000005: .ForeColor = &H80000008
            Case 1: .BackColor = &HFF&: .ForeColor = &H80000005
            Case 2: .BackColor = &H80FF&: .ForeColor = &H80000005
            Case 3: .BackColor = &H8000&: .ForeColor = &H80000005
        End Select
    End With
lbl_Exit:
    Exit Sub
End Sub

'Change colour of dropdown
Private Sub ComboBox5_Change()
    With ComboBox5
        Select Case .ListIndex
            Case 0: .BackColor = &H80000005: .ForeColor = &H80000008
            Case 1: .BackColor = &HFF&: .ForeColor = &H80000005
            Case 2: .BackColor = &H80FF&: .ForeColor = &H80000005
            Case 3: .BackColor = &H8000&: .ForeColor = &H80000005
        End Select
    End With
lbl_Exit:
    Exit Sub
End Sub

Private Sub TextBox2_Change()

End Sub

Private Sub UserForm_initialize()
    'Create text for review
    'use FillBM function to write to bookmarks
    Dim myArray     As Variant
    myArray = Split("- Select -|Requires further investigation|Urgent review|" _
            & "Manageable risk|For Noting Only", "|")
    'Use List method to populate listbox
    ComboBox1.List = myArray
    ComboBox1.ListIndex = 0
    
    'Redefine list for reason for threat level
    'Select threat level
    
    'Create list of grades for threat
    myArray = Split("- Select -|High|Medium|Low", "|")
    'Use List method to populate listbox
    ComboBox2.List = myArray
    ComboBox2.ListIndex = 0
    'Use List method to populate listbox
    ComboBox3.List = myArray
    ComboBox3.ListIndex = 0
    'Use List method to populate listbox
    ComboBox4.List = myArray
    ComboBox4.ListIndex = 0
    'Use List method to populate listbox
    ComboBox5.List = myArray
    ComboBox5.ListIndex = 0
    
lbl_Exit:
    Exit Sub
End Sub
Private Sub ComboBox1_Change()
    Select Case ComboBox1.Value
        Case "Requires further investigation":
            TextBox2.Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In rhoncus, lorem et fringilla dictum, orci orci posuere lacus, ut auctor libero neque non purus. Fusce a commodo ligula."
        Case "Urgent review":
            TextBox2.Text = "Proin sed nisl enim. Cras in nisl tempus, scelerisque mi id, vulputate arcu. Duis nec mi ac lorem pretium semper."
        Case "Manageable risk":
            TextBox2.Text = "Fusce eu nisi sollicitudin, pharetra nibh sed, vestibulum neque. Praesent a auctor turpis. Mauris posuere vitae justo ac mollis."
        Case "For Noting Only":
            TextBox2.Text = "Sed eu eros ipsum. Ut posuere id magna eu sollicitudin. Nunc suscipit tempor egestas. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos."
        Case Else
            TextBox2.Text = ""
    End Select
    
    If ComboBox1.ListIndex > 0 Then
        TextBox2.Text = ComboBox1.Value
    End If
lbl_Exit:
    Exit Sub
End Sub

Private Sub FillBM(strbmName As String, strValue As String, Optional lngColor As Long = &H80000005)
    'Graham Mayor - http://www.gmayor.com
    Dim oRng        As Range
    With ActiveDocument
        On Error GoTo lbl_Exit
        If .Bookmarks.Exists(strbmName) = True Then
            Set oRng = .Bookmarks(strbmName).Range
            oRng.Text = strValue
            oRng.Font.Color = lngColor
            oRng.Bookmarks.Add strbmName
        End If
    End With
lbl_Exit:
    Set oRng = Nothing
    Exit Sub
End Sub