Excel-VBA批量将表达式转换为运算结果把代表的汉字给替换掉
程序员文章站
2022-06-10 11:42:48
应用场景
批量将表达式转换为运算结果,把代表的汉字给替换掉
知识要点
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