У меня есть Excel UDF для исключения всех нечисловых символов из ячейки, кроме точек и запятых; Но прежде чем он очистит мой номер, я бы хотел поменять все запятые на точки и наоборот. Я понятия не имею, где сделать это изменение в моем коде. Спасибо

Function cleannumber(texto As String) As String 
Dim volta As String 
Dim pedaco As String 

volta = "" 
For i = 1 To Len(texto) 
   pedaco = Mid(texto, i, 1) 
   If pedaco >= "0" And pedaco <= "9"  Or pedaco = “,” Or pedaco =”.” Then volta = volta & pedaco 
Next i 
cleannumber = volta 
End Function

2 ответа2

1

Перед заявлением If :

pedaco = Replace(pedaco, ".", "whatever")
pedaco = Replace(pedaco, ",", ".")
pedaco = Replace(pedaco, "whatever", ",")
0

Модифицированный код:

Function cleannumber(texto As String) As String 
Dim volta As String 
Dim pedaco As String 

volta = "" 
For i = 1 To Len(texto) 
   pedaco = Mid(texto, i, 1) 

   // Add the below line
   pedaco = Replace(pedaco, ",", ".")

   If pedaco >= "0" And pedaco <= "9"  Or pedaco = “,” Or pedaco =”.” Then volta = volta & pedaco 
Next i 
cleannumber="'" & volta
End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .