我来说两句吧,首先的思路就是将不可能属于公式计算的字符替换为空字符,剩下的部分作为公式计算结果。如何去判断是不是公式计算的字符呢?可以比较其ASC码的范围。这里对计算式的文本就有一定的要求了,比如不能出现“3楼的面积是长31米*宽10米”这样的,因为3楼的3字将难以被判断不是公式的一部分。另外一定要用变量的话,变量名称尽可能为单字母,便于判断其属性
下面以H6的值“高度2*长度3”的结果填入I6为例,代码如下:
Sub aa()
Dim str As String
str = [H6]
For i = Len(str) To 1 Step -1
If Asc(Mid(str, i, 1)) > 100 Or Asc(Mid(str, i, 1)) < 0 Then
str = Application.WorksheetFunction.Replace(str, i, 1, "")
End If
Next
Range("I6").Formula = "=" & str
End Sub
VBA的话可以实现,不会用函数解决你这个问题
A*2
怎么算?