脚本删除字母 [英] Script to remove letters

查看:183
本文介绍了脚本删除字母的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一个Excel VB脚本来删除单元格中的所有字母Az和()。



我想保留所有数字和句点(。)。 p>

例如SDF dsfsd dfS SD(dfd)))sdf 2.1 mg uf g将成为2.1



这是什么我有,但它不工作:

 函数strClean(strtoclean)
Dim objRegExp,outputStr
设置objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern =(([0-9])。
outputStr = objRegExp。替换(strtoclean, - )
objRegExp.Pattern =\- +
outputStr = objRegExp.Replace(outputStr, - )
strClean = outputStr
结束功能


解决方案

尝试这个:

  Sub Remove_Alpha(rCll As Range)
Dim sCll As String,i As Integer
sCll = rCll.Value2
sCll = WorksheetFunction.Clean(sCll)
对于i = 1至255
选择案例i
案例46,48到57
案例Else
sCll = WorksheetFunction.Substitute(sCll,Chr(i),)
结束选择
下一个
rCll.Value = sCll
End Sub


I need an Excel VB script to remove all letter a-z A-z and () from cell.

I want to keep all numbers and periods (.).

For example SDF dsfsd dfS SD ( dfd ))) sdf 2.1 mg uf g will become 2.1

This is what I have but it is not working:

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

解决方案

Try this:

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

这篇关于脚本删除字母的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆