|
楼主 |
发表于 2023-4-4 09:56
|
显示全部楼层
老师好,我其实是为了一次性简化计算式用的,想一次提取到这些集合,再计算每行计算式的时候,有针对性的替换,比如把÷替换成/,因原文本计算式是不能动的,所以不能在原文本上替换。然后有时候整个文本可能都没有一个这些字符,那计算的时候都整个替换一遍,又太浪费时间了。所以想先看一下整个文本中有哪些,再去只循环替换那些有的字符。
比如原先这样依次替换每个单元格的话,假如整个都没有一个这些字符的时候,那这些替换就是纯浪费计算速度了。
Tmp = Application.Clean(StrConv(Rng, vbNarrow)) '全角转半角,清不可见字符
Tmp = Application.Substitute(Tmp, " ", "") '清除计算式中的空格
Tmp = Replace(Replace(Tmp, "(", "("), ")", ")") '中文括号转换为英文括号
Tmp = Replace(Replace(Tmp, "[", "("), "]", ")") '中括号转换为小括号
Tmp = Replace(Replace(Tmp, "{", "("), "}", ")") '大括号转换为小括号
Tmp = Replace(Replace(Tmp, "×", "*"), "÷", "/") '乘号、除号转换为计算符号 |
|