2015-11-02 4 views
-4

Мне нужен сценарий Excel VB для удаления всех букв a-z A-z и() из ячейки.Сценарий для удаления писем

Я хочу сохранить все числа и периоды (.).

Например SDF dsfsd Dfs SD (ТТС))) SDF 2,1 мг уф г будет 2,1

Это то, что у меня есть, но он не работает:

Function strClean(strtoclean) 
Dim objRegExp, outputStr 
Set objRegExp = New Regexp 
objRegExp.IgnoreCase = True 
objRegExp.Global = True 
objRegExp.Pattern = "(([0-9]).)" 
outputStr = objRegExp.Replace(strtoclean, "-") 
objRegExp.Pattern = "\-+" 
outputStr = objRegExp.Replace(outputStr, "-") 
strClean = outputStr 
End Function 
+0

Вы были здесь достаточно долго, чтобы знать, что вам нужно проявить усилие. – findwindow

+0

Например SDF dsfsd ДФС SD (DFD))) SDF 2,1 мг UF г будет 2,1 –

+0

Функция strClean (strtoclean) дим objRegExp, outputStr Набор objRegExp = Новый Regexp objRegExp.IgnoreCase = True objRegExp.Global = True objRegExp.Pattern = "(([A-Za-Z])) +" outputStr = objRegExp.Replace (strtoclean, "-") objRegExp.Pattern = "\ - +" outputStr = objRegExp.Replace (outputStr, "-") strClean = outputStr End Function –

ответ

0

Попробуйте это:

Sub Remove_Alpha(rCll As Range) 
Dim sCll As String, i As Integer 
    sCll = rCll.Value2 
    sCll = WorksheetFunction.Clean(sCll) 
    For i = 1 To 255 
     Select Case i 
     Case 46, 48 To 57 
     Case Else 
      sCll = WorksheetFunction.Substitute(sCll, Chr(i), "") 
     End Select 
    Next 
    rCll.Value = sCll 
End Sub 
Смежные вопросы