如何在Excel中格式化所有数字

我用Excel来存储数据,但其中一些数据是13个字符的数字,Excel会自动显示它的科学风格。

我需要excel完全显示它。

例如: 4.01924E + 124019238159486

我想在VBA中这样做,并将其应用于所有数字。

使用以下内容:

Sub Macro2() Selection.SpecialCells(xlCellTypeConstants, 1).NumberFormat = "0" End Sub 

在VBA中使用您select的范围

  Selection.NumberFormat = "0" 

您可能需要循环范围,首先使用Int(cell / 1)* 1)= 0进行testing,以确保您只是格式化整数,然后应用格式。 我相信有更有效的方法来testing整个工作表并应用格式,但是这给了你一般的想法。

你不能使用MODfunction,因为你会得到一个溢出。 看到这里: 用MOD大量溢出 。 该链接的答案还build议可以使用Chip Pearson的一个function。

所以你会有代码:

 Public Sub Formatting() Dim wb As Workbook Dim ws As Worksheet Dim rng As Range Dim cell As Range Set wb = ThisWorkbook Set ws = wb.Worksheets("Sheet1") ' change as appropriate Set rng = ws.Range("A1").CurrentRegion With ws For Each cell In rng.Cells With cell If Not IsError((Int(cell / 1) * 1) = 0) Then cell.NumberFormat = "0" End If End With Next cell End With End Sub 

否则在表中

突出显示要转换的单元格,然后转到数字选项卡,展开右下angular的箭头,select自定义并键入0以键入。

格式化