TextBox がフォーカスを取得すると (GotFocus)、テキストの色が変更され、フォーカスが失われると (LostFocus)、ForeColor がテキストの前景色を設定します。
'カーソルがTextBoxに移動すると、テキストが赤に設定されます
プライベートサブテキスト1_GotFocus()
Text1.ForeColor = vbRed
エンドサブ
'カーソルが TextBox の外に移動すると、テキストは黒に設定されます
プライベートサブテキスト1_LostFocus()
Text1.ForeColor = vbBlack
エンドサブ
上記のコードでは、TextBox の背景色を変更するために Text1.ForeColor を Text1.BackColor に変更するだけで済みます。