Excel

网友投稿 716 2022-06-09

应用场景

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

知识要点

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

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

Excel

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Excel 数据过滤 遇到空值即删除整行 遇到某特定值即删除整行
下一篇:EXCEL 数据分析之合并单元格后按合计得分排序的整个心路历程
相关文章