许多系统下载下来的报表,里面的数字都是文本型(即使复制后,选粘贴为值也改变不了),不能直接用于运算。虽然有用“分列”来处理此问题,但“分列”功能一次只能处理一列。

这里介绍用VBA的数组来解决:仅仅只需要了解数组赋值语句就行。先给数组赋值,例:arr=[A1:E14](arr就是一个变量名,可以随便取)。然后再将数组的数据输出即可:[A1:E14]=arr。输出来的数字就变为了数值型数字,直接进行加减乘除运算。如果想输出在其它位置,语句:Range("B5").Resize(ubound(arr),ubound(arr,2))=arr,将B5 改成你想放置的位置的单元格地址即可。

不过今天在运用这个方法时,发现在数组中,这些数字却都是文本字符,不是数值型。也就是不能在数组中直接进行运算。如:arr(2,1) arr(2,2) 得到“73”,这个运算规则还真是奇特。 号运算变成了字符相连,合并字符串就可用数组相 来完成了。

excel表格中数字转化为文本状态下(EXCEl表格中文本型数字转化为数值型)(1)

,