导入的号码格式科学,需要通用号码

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 返回您继续遇到的任何问题的更完整范围。