Mas abajo, en este mismo foro podras encontrar una respuesta a tu pregunta, de cualquier modo te podnre lo siguiente:
te escribe al reves porq no le estas indicando la posicion del ultimo caracter, es decir, solamente igualas el Text1 a lo que hay en Text1, de manera que siempre se posicion en el primer caracter, puedes hacer una prueba haciendo lo siguiente:
Private Sub Text1_Change()
Text2.Text = StrConv(Me.Text1.Text, vbUpperCase)
End Sub
Como veras aqui se puso un text2 y ese si muestra la informacion como debe de ser, haz el intento.
Otra opcion seria que dejaras al usuario que escribiera en mayusculas o minusculas y al final (por ejemplo al presion enter), realizar el cambio a minusculas o mayusculas segun convenga, algo asi como esto:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text1.Text = StrConv(Me.Text1.Text, vbUpperCase)
End If
End Sub
Aqui si funciona en el mismo text1, ya que reemplazaras toda la linea.
Bueno, espero que esto te sea de utilidad....Saludos!!!