В моем случае все числа с тысячами разделителей также имели десятичную запятую. Я смог решить это так:
Function makeNumber(n As String)
n = Replace(n, ",", ".")
If Len(n) - Len(Replace(n, ".", "")) > 1 Then
Dim dots As Integer
Dim pos_of_last_dot As Integer
Dim integral As String
Dim decimal As String
pos_of_last_dot = InStrRev(n, ".", -1)
integral = Left(n, pos_of_last_dot)
decimal = Mid(n, pos_of_last_dot)
integral = Replace(integral, ".", "")
decimal = Replace(decimal, ".", "")
n = integral & "." & decimal
End If
makeNumber = n
End Function