导入的号码格式科学,需要通用号码
Imported number format is in scientific, need general number
我需要将 excel 中的列从 Excel 文档中的常规数据类型转换为数字(整数)数据类型。
我从外部系统获取数据显示为“1E+14”,需要将其更改为“100000000486422”。
如果数字从 'external system' 中正确导出,那么您的列宽 and/or 数字格式不足以 Excel 到 显示 数正确。加宽列宽以容纳 15 位数字,并使用 Number 类型的单元格编号格式或 0.[=12= 的自定义编号格式]
请注意,Excel 有 15 位浮点精度限制,'round' 16 位是它认为最重要的 15 位。示例:100000000486422*9* 变为 1000000004864220.
有关详细信息,请参阅 Floating-point arithmetic may give inaccurate results in Excel。
编辑:
根据评论,我建议使用批量操作而不是循环遍历单元格以进行个别更改。
Private Sub CommandButton1_Click()
With ThisWorkbook.Worksheets("Sheet1")
With .Columns("AI:AI").SpecialCells(xlCellTypeConstants, 1)
.Cells.NumberFormat = "0"
End With
.Columns("AI:AI").EntireColumn.AutoFit
End With
End Sub
应该解决您遇到的任何时间延迟(又名循环)问题,但可能存在更大的潜在问题。 Post 返回您继续遇到的任何问题的更完整范围。
我需要将 excel 中的列从 Excel 文档中的常规数据类型转换为数字(整数)数据类型。
我从外部系统获取数据显示为“1E+14”,需要将其更改为“100000000486422”。
如果数字从 'external system' 中正确导出,那么您的列宽 and/or 数字格式不足以 Excel 到 显示 数正确。加宽列宽以容纳 15 位数字,并使用 Number 类型的单元格编号格式或 0.[=12= 的自定义编号格式]
请注意,Excel 有 15 位浮点精度限制,'round' 16 位是它认为最重要的 15 位。示例:100000000486422*9* 变为 1000000004864220.
有关详细信息,请参阅 Floating-point arithmetic may give inaccurate results in Excel。
编辑:
根据评论,我建议使用批量操作而不是循环遍历单元格以进行个别更改。
Private Sub CommandButton1_Click()
With ThisWorkbook.Worksheets("Sheet1")
With .Columns("AI:AI").SpecialCells(xlCellTypeConstants, 1)
.Cells.NumberFormat = "0"
End With
.Columns("AI:AI").EntireColumn.AutoFit
End With
End Sub
应该解决您遇到的任何时间延迟(又名循环)问题,但可能存在更大的潜在问题。 Post 返回您继续遇到的任何问题的更完整范围。