+ -
当前位置:首页 → 问答吧 → word表格数据转换问题

word表格数据转换问题

时间:2011-04-19

来源:互联网

我用VBA计算表格数据时用Val(ActiveDocument.Tables(1).Cell(1, 1).Range.Text)只能显示有千分位或小数点前的数字,例如101,500.00就只能显示为101,如果没有千分位而有小数位,则不能显示小数位。
用何种办法能让101,500.00还是显示我101,500.00呢

作者: sxz4494   发布时间: 2011-04-19

你的目的是只要显示还是要获取数据作后面的计算?
如果是用于计算,为什么一定要加千分位?
如果只是显示,可以
Sub test()
Dim str$
str = ActiveDocument.Tables(1).Cell(1, 1).Range.Text
MsgBox Left(str, Len(str) - 1)
End Sub
还是说数字后面还有其它文本?

作者: honggexjq   发布时间: 2011-04-19

引用:
原帖由 honggexjq 于 2011-4-19 21:32 发表
你的目的是只要显示还是要获取数据作后面的计算?
如果是用于计算,为什么一定要加千分位?
如果只是显示,可以
Sub test()
Dim str$
str = ActiveDocument.Tables(1).Cell(1, 1).Range.Text
MsgBox Left(str, ...
我是要获得数据作后面的计算,我不知道怎么获得带格式的数据

作者: sxz4494   发布时间: 2011-04-19

试试我说的,直接提取单元格中的文本即可

作者: honggexjq   发布时间: 2011-04-19

引用:
原帖由 honggexjq 于 2011-4-19 22:29 发表
试试我说的,直接提取单元格中的文本即可
我试验了。还是不行 吧知道是不是我的方法不对,要不,我上传附件,请帮忙看看需要怎么处理,才能有正确的结果
我要计算的是第13列=8列-11列

附件

附件1.rar(20.57 KB)

2011-4-19 22:47, 下载次数: 2

作者: sxz4494   发布时间: 2011-04-19

你的表格太乱了。。。
单元格文本后有个不可见的分隔符,所以需要像我在2楼写的那样把最后一个字符去除,这样所得数据就可以进行运算了

作者: honggexjq   发布时间: 2011-04-19