|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
Sub 中英文混合式求表达式或求值()
Set sjq = Application.InputBox(prompt:="请选择:查找区域", Type:=8)
Set jgq = Application.InputBox(prompt:="请选择:结果摆放起始位", Type:=8)
jgqqsh = jgq.Row
jgql = jgq.Column
bb = MsgBox("是为直接求值 否为输出表达式", vbYesNo)
Set regx = CreateObject("vbscript.regexp")
For Each c In sjq
With regx
.Global = True
.Pattern = "\[(.*?)\]|\【(.*?)\】|[^0-9×xX+-\/\÷\~.\~(\~)\~(\~)\~*]|[^0-9]+$"
w = Join(Split(.Replace(c, ""), ""))
If w = "" Then GoTo 20
End With
Dim a, b, i
a = "Xx×÷()"
b = "***/()"
For i = 1 To 6
w = Replace(w, Mid(a, i, 1), Mid(b, i, 1))
Next
With regx
.Global = True
.Pattern = "^([^0-9\~(\-])+"
w = Join(Split(.Replace(w, ""), ""))
End With
If bb = 6 Then GoTo 6
Cells(jgqqsh + n, jgql) = w
GoTo 20
6:
Cells(jgqqsh + n, jgql) = Application.Evaluate(w)
20:
n = n + 1
Next
End Sub
|
评分
-
1
查看全部评分
-
|