【问题标题】:Changing number formatting in excel 2007更改 excel 2007 中的数字格式
【发布时间】:2011-10-17 18:15:31
【问题描述】:

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

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

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

【问题讨论】:

    标签: excel vba excel-2007


    【解决方案1】:

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

    1. 点击A栏(即A栏左侧)提到的符号
    2. 当您单击该符号时,它将选择整个工作表
    3. 双击A列B列之间的边界线
    4. 这是解决您在 Excel 工作表上的所有问题

    由于列大小而出现此数字格式问题。

    修复这种类型的数字格式“0.0000600”:-

    1. 选择列标题(即 A 列、B 列 .. 以及很快需要格式化的列)
    2. 右键单击选项卡
    3. 选择“格式化单元格”
    4. 点击Category下的custom选项
    5. 类型字段下,输入0.0000000000

    然后它会解决您的格式问题。

    【讨论】:

    • 嘿,谢谢。我没有意识到我的问题在于访问权限而不是 excel >.>。我想这需要发布另一个与访问有关的问题。谢谢!
    【解决方案2】:

    你已经用 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 定义了要处理的单元格范围,它从原点扩展直到遇到完全空白的行和列。

    【讨论】:

      猜你喜欢
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 2013-12-24
      • 2012-03-22
      • 1970-01-01
      • 2011-06-16
      相关资源
      最近更新 更多