I guess you would want to make sure that TXT_value = one of your session values. You can check that using an On Error with a line that would cause an error. You would have to iterate all of the i's in your first block of code and then compare each to your Txt_Value.

I guess the rest of the email part works except for the ListBox?

Here is one way to get the selected items. The Join() part is what you will concatenate in your Body string.
Private Sub CommandButton2_Click()  'OK button  Dim a
  a = LbCb1ToArray(REASON_Listbox)
  If Not IsArray(a) Then Exit Sub
  MsgBox Join(a, vbCrLf)
End Sub


'Listbox column 1 or combobox column 1 to array.
Private Function LbCb1ToArray(LbCb As Control)
  Dim i As Long, j As Long, a
  
  With LbCb
    ReDim a(1 To .ListCount)
    For i = 0 To .ListCount - 1
      If .Selected(i) = True Then
        j = j + 1
        a(j) = .List(i, 0)
      End If
    Next i
  End With
  
  If j > 0 Then
    ReDim Preserve a(1 To j)
    LbCb1ToArray = a
  End If
End Function