Eu usei uma Sub, veja:
Sub CordeFundo(nome_form As String, nome_ctl As String, cor As Long)
Dim ctl As Control
Dim frm As Form
For Each frm In Forms
If frm.Name = nome_form Then
For Each ctl In frm.Controls
If ctl.Name = nome_ctl Then
ctl.BackColor = cor
End If
Next ctl
End If
Next frm
End Sub
Para chamar em cada evento "GotFocus" e "LostFocus":
Private Sub Text1_GotFocus()
Call CordeFundo(Me.Name, Text1.Name, &HC0FFFF) 'a cor pode ser passado em Hexa ou inteiro longo
End Sub
Private Sub Text1_LostFocus()
Call CordeFundo(Me.Name, Text1.Name, &H80000005)
End Sub
É só colocar isso para cada caixa de texto do seu form... ou para cada objeto q tenha a propriedade backcolor, como vc pode ver a SUB verifica o nome do controle e não o tipo dele.
Espero q ajude
t+