Excel 数值格式四舍五入出现不统一问题。
2012-09-13 16:25
459 查看
问题:
在excel中设置了数值格式,不保留小数点。在把数值导入其他系统时,使用oledb,但出现问题,
(455560.5)455561 455561(进位)
(473602.5)473602 473602(舍去)
在同样的格式中出现不统一的四舍五入。
原因分析:
1.本以为是oledb的原因,查找后不是
2.在手动输入数值是,不会造成这个问题,以为是excel版本问题。最后否定。
3.是选择性黏贴造成的。原理无法解释,有待研究
解决方案:
1,填写excel注意点(但不是解决办法的根本原因)
2.让列进行round计算,这样就要每个值进行一次round计算,造成不便
3.写宏。当修改数值时,出发change,对数值进行四舍五入。
代码如下:针对不保留小数点的。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next '错误处理
Dim sum As Range
Dim k As Range
Dim b As Range
Set sum = Range("T:T") '列集
If Not Intersect(Target, sum) Is Nothing Then '由于是对整个表的,所以判断修改的单元是否是要处理的单元。
Set k = Intersect(Target, sum) '交差部分
For Each b In k '对修改单元进行循环处理,如果没有循环,则不能进行整表黏贴时的触发。
If IsNumeric(b) And b <> Fix(b) Then
If Int(b) Mod 2 = 0 And b - Int(b) = 0.5 Then
b.Value = Int(b) + 1
Else
b.Value = Round(b, 0)
End If
End If
Next
End If
End Sub
有关知识
选择性黏贴,+宏
在excel中设置了数值格式,不保留小数点。在把数值导入其他系统时,使用oledb,但出现问题,
(455560.5)455561 455561(进位)
(473602.5)473602 473602(舍去)
在同样的格式中出现不统一的四舍五入。
原因分析:
1.本以为是oledb的原因,查找后不是
2.在手动输入数值是,不会造成这个问题,以为是excel版本问题。最后否定。
3.是选择性黏贴造成的。原理无法解释,有待研究
解决方案:
1,填写excel注意点(但不是解决办法的根本原因)
2.让列进行round计算,这样就要每个值进行一次round计算,造成不便
3.写宏。当修改数值时,出发change,对数值进行四舍五入。
代码如下:针对不保留小数点的。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next '错误处理
Dim sum As Range
Dim k As Range
Dim b As Range
Set sum = Range("T:T") '列集
If Not Intersect(Target, sum) Is Nothing Then '由于是对整个表的,所以判断修改的单元是否是要处理的单元。
Set k = Intersect(Target, sum) '交差部分
For Each b In k '对修改单元进行循环处理,如果没有循环,则不能进行整表黏贴时的触发。
If IsNumeric(b) And b <> Fix(b) Then
If Int(b) Mod 2 = 0 And b - Int(b) = 0.5 Then
b.Value = Int(b) + 1
Else
b.Value = Round(b, 0)
End If
End If
Next
End If
End Sub
有关知识
选择性黏贴,+宏
相关文章推荐
- POI操作EXCEL出现的单元格格式丢失问题的解决方案
- Web前端:POI操作EXCEL出现的单元格格式丢失问题的解决方案
- php把excel数值格式转成日期格式问题
- POI:操作EXCEL出现的单元格格式丢失问题的解决方案
- 将Excel表单转换到Word不出现格式问题
- 使用 JXL 读取 excel 出现了 日期截断的问题 (单元格格式:日期-->出现此问题)
- 导出Excel出现的格式问题
- excel日期格式数据通过软件导入到数据库中显示数值的问题
- Excel打开CSV时,出现一个格式问题
- php把excel数值格式转成日期格式问题
- Java处理excel导入数据库日期格式的处理(24时制变为12时制问题的处理)
- 如何处理ODBC中EXCEL驱动读取EXCEL文件中字段长度大于255字符时出现的"数据截断"问题.
- 记录一个decimal格式转换出现的问题
- 解决Oledb连接Excel数据类型不统一的问题
- SharePoint 2013 OWA 打开Word时:很抱歉,出现问题,无法打开此文档。打开Excel是:"/x"应用程序中的服务器错误; 其他长见问题修改
- 关于导出excel是经常出现的几个问题
- Web页面的数据导出excel时的格式问题(长数字显示为科学计数法格式等)
- 通过PHPExcel导出Excel文件时,出现“格式与文件扩展名格式不一致”错误!
- excel表格中String类型数值数据转化为int及float等格式
- 关于数字比较的格式统一问题