题
我想解析在Excel VBA字符串单元列中,每个单元的包含以下内容:
2 '␂'
我想改变该单元的内容仅仅是“字串”之前只包含2(或任何数字字符。这将是解析这种信息的最简单的方法?谢谢。
解决方案
如果您是肯定的格式,找到“(撇号)前的字符串和更改单元格的值。 假设你是有这个值的单元格,使用下面的VBA代码。
activecell.text = mid(activecell.text, 1, instr(1, activecell.Text, "'")-1)
它看起来为一个撇号和之前它提取字符&将其放入当前小区。
其他提示
假设数值数据始终是在小区的开始,你可以使用正则表达式在字符串的开头找到任何连续的数字,一旦停止它击中的第一个非数字字符。这里是会为你做一个功能,我希望它能帮助。该^代表所述电池的启动,和(\ d +)表示一个或多个数字字符和*后跟零个或多个字符装置。我假设只有一个你需要的数字串,所以我有正则表达式只是返回子匹配0(第一场比赛)。
Function ExtractNumericData(ByVal text As String) As String
Application.ScreenUpdating = False
Dim allMatches As Object
Dim RE As Object
Set RE = CreateObject("vbscript.regexp")
RE.Pattern = "^(\d+).*"
RE.Global = True
Set allMatches = RE.Execute(text)
ExtractNumericData = allMatches.Item(0).submatches.Item(0)
Application.ScreenUpdating = True
End Function
不隶属于 StackOverflow