欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

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

程序员文章站 2022-01-10 09:51:04
应用场景 批量将表达式转换为运算结果,把代表的汉字给替换掉 知识要点 1:Worksheet.Evaluate 方法  将一个 Microsoft...

应用场景

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

知识要点

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