【发布时间】:2018-11-12 15:12:18
【问题描述】:
在 VBA 中,我想搜索一个 excel 公式(字符串)来查找单元格引用。
具体来说,我想在字符串中找到存在相对单元格引用(任何相对单元格引用,而不是特定单元格引用)或混合单元格引用的位置。
- 我不需要查找绝对单元格引用,尽管我可以检查并忽略那些。
- 我不介意参考文献是否在另一张纸上,我很高兴在 !符号。
- 我需要确保它不会在字符串或工作表名称或数据名称中找到看起来像单元格引用的内容。
我该怎么做?(这是主要问题)
我的想法:
我可以看到如何找到混合单元格引用 - 我很确定 $ 符号只能出现在混合单元格引用、绝对引用、内部工作表名称或内部字符串中(有人可以确认吗?) ,因此使用正确的正则表达式或算法,您可以找到所有这些情况,然后只需检查它是否是绝对单元格引用并忽略它。
但是如何找到任何和所有相关的单元格引用?我唯一的想法与上述类似。除了单元格引用之外,在 Excel 公式(工作表名称之外或字符串内部)中是否有任何时候在字母后面有一个数字?任何公式名称或任何东西?我能想到的唯一另一个是定义的数据名称,但我不确定您是否可以在公式中使用它们,尤其是条件格式公式)。谁能想到其他时间?
有人有什么想法吗?
【问题讨论】:
-
查看
Range.Precedents。 -
您对正则表达式感兴趣吗?
-
谢谢马修。我提到我有一个公式字符串,那是因为它来自条件格式。尽管如此,我还是可以将公式放在一个空单元格中,跟踪先例,获取公式中的单元格列表,然后专门搜索这些单元格。这是一个有趣的想法,虽然是一个相当复杂的想法。谢谢
-
嗨 Kubie,是的,我会对 RegEx 非常感兴趣,尽管我认为关于如何搜索任何和所有相关单元格引用的要点很重要,我不知道是否我的建议会奏效。
-
一条关于您的 cmets 的评论。不要写“Hi #Name”,而是考虑在评论开头使用@Name。在您的情况下,可能是 Kubie 和 Mathieu 从未阅读过您的评论