【发布时间】:2018-02-16 23:51:34
【问题描述】:
我有以下问题。我正在将未排序的文本从 pdf 读取到 excel 中,用相当随机的条目填充我的工作表。
不,我正在寻找对大多数部分都非常有效的元素,我只是在寻找变量值&符号&变量值组合时遇到了重大问题。
像例如的组合0/700 出现在不同的部分,并且没有显示找到它们的顺序。
示例表:
100 mt/h
m³/t
S/C
0/700
0/25
5/31
43/47
700/1000
我需要找到“数字”/“数字”组合的所有内容,例如0/700。问题是唯一的常量是“/”(斜线),它也出现在其他单元格中。所以我想知道是否有机会搜索数字/数字。
我尝试了以下方法:
Set prdct = Sheets("Tabelle1").Range("A1:K100").Find("/")
给我所有出现斜线的条目,不幸的是没有帮助。 所以我更进一步尝试:
Set prdct = Sheets("Tabelle1").Range("A1:K100").Find("\d*/\d*")
Set prdct = Sheets("Tabelle1").Range("A1:K100").Find("\d*"&"/"&"\d*")
Set prdct = Sheets("Tabelle1").Range("A1:K100").Find("\d+/\d+")
Set prdct = Sheets("Tabelle1").Range("A1:K100").Find("\d+"&"/"&"\d+")
所有最后一个都返回Nothing,所以显然有些事情没有解决。
如果有帮助,斜线左侧的最大值可以是最大值999,斜线右侧的最大值可以是9999。但它也可以是0/1。
我真的很感激任何帮助,提示不同的方法等。干杯。
【问题讨论】:
-
所以你想找到一个
integer/integer...尝试谷歌搜索这些行。可能会把你推向正确的方向 -
感谢您的提示。我从中得到的唯一想法是找到所有“/”条目,然后循环并检查前后的值是否为数字,或者是否有更聪明的方法我没有看到? (不确定这是否可行,但我会尝试)
-
我不是 vba 专家,但我认为你必须创建一个正则表达式对象
Set regex = CreateObject("VBScript.RegExp")然后定义regex.pattern ="\d+/\d+"然后执行matches = regex.execute(Sheets("Tabelle1").Range("A1:K100")或类似的东西。