更改excel 2007中的数字格式

时间:2011-10-17 18:15:31

标签: excel vba excel-2007

enter image description here

我有一个看起来像这样的Excel文件。如何更改单元格格式,使其看起来与功能栏完全相同。而不是3E-07 - > 0.000003

我不想更改小数位,因为我只希望它具有所需的小数位数,所以最后不会有额外的零。 例如,因为如果我将整列更改为七位小数,则最小的数字具有7位小数,例如6E-05,最后将有两个额外的零(0.0000600)。

我正在尝试在宏上执行此操作,因为需要经历很多数字。我可以自己设置循环。

2 个答案:

答案 0 :(得分:1)

要修复所有列,请按以下步骤操作: -

  1. 点击 A列所提及的符号(即A的左侧)
  2. 当您点击该符号时,它将选择整张表
  3. 双击 A列之间的边界线& B栏
  4. 这可以解决您在excel表上的所有问题
  5. 由于列大小而发生此数字格式问题。

    要修复此类数字格式“0.0000600”: -

    1. 选择列标题(即A列,B列..以及很快需要格式化的列)
    2. 右键单击选项卡
    3. 选择“格式单元格”
    4. 点击类别
    5. 下的自定义选项
    6. 类型字段下,输入 0.0000000000
    7. 然后它会解决您的格式问题。

答案 1 :(得分:0)

您已使用 VBA 标记了此问题,因此以下是VBA .AutoFit method的两个示例。

对于整个工作表:

    With ActiveSheet    'set this worksheet reference more defintively!
        .Cells.EntireColumn.AutoFit
    End With

如果您的列已经是您想要的宽度,您可以测试前20行以查看.TEXT property是否显示井号(例如#或Chr(35))符号。

    With ActiveSheet    'set this worksheet reference properly!
        With .Cells(1, 1).CurrentRegion
            For c = 1 To .Columns.Count
                For r = 1 To 20     'maybe even .Rows.Count for smaller data grids
                    If CBool(InStr(1, .Cells(r, c).Text, Chr(35), vbBinaryCompare)) Then
                        .Columns(c).EntireColumn.AutoFit
                        Exit For
                    End If
                Next r
            Next c
        End With
    End With

后者使用.CurrentRegion property定义要处理的单元格范围,throughout从其原点扩展到满足完全空白的行和列。