Arthur Fuller
fuller.artful at gmail.com
Sun Jul 5 04:55:22 CDT 2009
It's a teeny bit more complicated than that, Max, but you set me to thinking. Here is my little test program and two functions, the first of which does it call by call and the second does it all in one line, using nested calls. <vba> Option Compare Database Option Explicit Sub Test() Dim x As String, y As String, z As String x = "123.456.789,12" Debug.Print x y = SwapComma(x) Debug.Print y z = SwapComma2(x) 'do it all in one call Debug.Print z End Sub Function SwapComma(x As String) x = Replace(x, ",", "%") Debug.Print x x = Replace(x, ".", ",") Debug.Print x x = Replace(x, "%", ".") Debug.Print x SwapComma = x End Function Function SwapComma2(x As String) ' not for the faint at heart SwapComma2 = Replace(Replace(Replace(x, ",", "%"), ".", ","), "%", ".") End Function </vba> Which solves the problem as posed, but makes no attempt to understand the wisdom behind Microsoft's lack of a universal representation. hth, Arthur