我想解析在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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top