EXCEL VBA高手请进,求自动计算公式~~

效果如图所示~
2024-11-08 04:21:40
推荐回答(3个)
回答1:

我来说两句吧,首先的思路就是将不可能属于公式计算的字符替换为空字符,剩下的部分作为公式计算结果。如何去判断是不是公式计算的字符呢?可以比较其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

回答2:

VBA的话可以实现,不会用函数解决你这个问题

回答3:

A*2
怎么算?