Why don't you remove the textbox change events and pull the textbox values into the email fields directly? I also commented out the Send command and added Display, so you can see that it works.

Private Sub CommandButton1_Click()
    Unload Me
End Sub
Sub CommandButton2_Click()

Dim myOlApp As Object
Dim objMail As Object
        
Set myOlApp = CreateObject("Outlook.Application")
Set objMail = myOlApp.CreateItem(olMailItem)
With objMail
    .Subject = TextBox1
    .To = Environ("username")
    .body = TextBox3
    .CC = TextBox2
    '.Send
    .Display
End With

'below i dont understand why it's there and nothing or if needed
Set myOlApp = Nothing
Set myNamespace = Nothing
Set myRecipient = Nothing
Set objMail = Nothing

End Sub