应用场景

批量将表达式转换为运算结果,把代表的汉字给替换掉

知识要点

1:Worksheet.Evaluate 方法  将一个 Microsoft Excel 名称转换为一个对象或者一个值。

2:利用replace函数将表达式以外的干扰字符长、宽、高替换成空文本,然后通过Evaluate函数将表达式转换成计算结果

Sub 将表达式转换为值()

    On Error Resume Next  ‘防错,避免选择已用区域以为的区域时出错

    Dim Cell As Range

    If TypeName(Selection) <> “Range” Then Exit Sub ‘选择对象为非空单元格则退出

    If Selection.Columns.Count > 1 Then Exit Sub ‘选区大于1列则退出

    For Each Cell In Intersect(Selection, ActiveSheet.UsedRange) ‘循环选区

        ‘在单元格cell的右边一个单元格产生计算结果,将长宽高三字去除后再计算结果

        Cell.Offset(0, 1) = Evaluate(Replace(Replace(Replace(Cell.Text, “长”, “”), “宽”, “”), “高”, “”))

    Next Cell

End Sub