No te digo que este sea el caso, pero algunos errores (aleatorios) similares a el tuyo los solucione haciendo una pausa de un par de segundos antes del Filecopy
Código:
Dim x As Long: x = Round(Timer): While Round(Timer) < x + 2: DoEvents: Wend
Se puede hacer de muchas maneras, yo en tu caso lo hago así
Private Sub command1_Click() If Option1 Then Text2 = Val(Text1) * 1000 If Option2 Then Text2 = Val(Text1) * 100 If Option3 Then Text2 = Val(Text1) * 10 If Option4 Then Text2 = Val(Text1) / 1000 End Sub