如图,怎么在任意文本计算式的 后一单元格,计算其的值。且实现简单的操作的就能实现。(之前我用过evaluate,但是只能针对某一列的值。一换列就得重新设置引用区域,很不方便)

解决方案 »

  1.   

    可以在Sheet的Change事件中增加处理方法:Option Explicit' 这里有一个问题,就是输入减法的时候Excel会自动当作日期处理.
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim reg As Object
        Set reg = CreateObject("vbscript.regexp")
        reg.Pattern = "\d+[+\-*/]\d+"
        
        If reg.test(Target.Text) Then
            Cells(Target.Row, Target.Column + 1) = Evaluate(Target.Text)
        End If
    End Sub运行示例:下载地址:
    链接:https://pan.baidu.com/s/1mzx1hklZHInDCQywXsmYbA 
    提取码:v3k2