如何使 Excel 的“自动调整行高”功能真正自动调整行高?

如何使 Excel 的“自动调整行高”功能真正自动调整行高?

我记得,在每一代 Excel 中(包括我现在使用的 2010 版),Excel 的“自动调整行大小”功能有时在单元格包含换行文本时无法真正自动调整行大小。当它正常工作时,所有文本都会显示出来,最后一行文本下方没有额外的空间。当它失败时,它会在文本下方添加额外的空间。更糟糕的是,您看到的内容并不总是您得到的内容,即,屏幕上显示正常的文本在打印时会被截断。您还会根据放大/缩小还是实际尺寸获得不同的大小。

简单测试用例:

为什么单元格 A1 中的文本后有一行间隙,而 A2 中却没有?

(复制:将 A 列宽度设置为 17.14(125 像素)、文本换行、单元格顶部对齐。)

(我仔细检查了是否将“自动调整行高”应用于两行。缩放级别为 100%。)

自动调整第一行失败,第二行成功

是否有任何已知的补救措施,而无需采取手动调整行高(这对于多行来说是不切实际的)?

答案1

我刚刚找到的一种方法(稍微扩展了上一篇文章):

  • 选择整个工作表。
  • 将列宽调整得稍微宽一些(因为选择了整个工作表,所以所有列都会变宽)
  • 双击行分隔符 - 行高将自动调整
  • 双击列分隔符 - 列宽将自动调整

瞧!

答案2

Excel 的所见即所得功能并不是最好的。在您的图片中,“cat.”勉强挤进第 5 行。如果您将缩放百分比降低到 100% 以下(例如 99%),那么“cat.”现在会缩减到第 6 行。我认为 Excel 正在尝试自动调整,以确保无论您的缩放级别如何,所有内容几乎始终可见。

这不是您在使用 AutoFit 时遇到的唯一问题。此外,自动换行单元格的打印方式并不总是与您在屏幕上看到的方式一致。以您的示例为例,将字体更改为 Courier,同时将大小保留为 11。

将字体更改为 Courier

如您所见,单元格 A1 似乎多出了 1.5 行。现在查看打印预览,“cat.”已完全隐藏。

打印同一文件的预览

根据我的经验,Excel 在某些字体和字体大小上比其他字体和字体大小更容易出现此问题。导游快递新品,尺寸 11 通常比 10 或 12 差。(我不知道他们为什么选择尺寸 11 作为新的默认尺寸。)

答案3

我刚刚为此编写了一个小宏。我给它指定了一个快捷键 (Ctrl-Shift-J),它对我来说非常有效。

Sub ArrangeTable()
'set proper column width and row height for the current region
    With Selection.CurrentRegion
        .Columns.ColumnWidth = 200
        .Columns.EntireColumn.AutoFit
        .Rows.EntireRow.AutoFit
    End With
End Sub

为了使其永久可用,您可以轻松制作一个自动加载的插件:

  • 在一个新的空白工作簿中创建一个模块并粘贴代码,
  • 为其分配所需的快捷键,
  • 然后Save As,,Add-in到文件夹%appdata%\Microsoft\Excel\XLSTART
    这样,每次启动 Excel 时它都会被不可见地加载。

答案4

有一个知识文章对此,它“暗示”(这是典型的 Microsoft 风格,令人无法接受的稀疏)如果您设置了行高,则该工作表的该行的自动高度调整将永久消失。但是,您没有触及高度的行将自动调整。

虽然您可以在 2003 年使用“标准宽度”设置重置列宽(madman 设计的 2007 年:更改为“默认宽度”),但他们忘记(一次又一次)将其放入行中。因此,永久性似乎是不可避免的。这意味着,如果您的默认高度为 15,并且您创建了一个工作表并将所有高度设置为 12,那么您就失去了自动调整功能。

相关内容