Microsoft Excel - 错误的自动换行符

Microsoft Excel - 错误的自动换行符

我在使用 Microsoft Excel 的自动换行功能和自动行高功能时遇到了问题。如下图所示,我在单元格 A1、B2 和 C3 中放置了一个简单的文本(“只是一个可能错误换行的测试文本”,在可见文本之前或之后没有手动换行、空格或其他字符,文本中也没有手动换行),并激活了此单元格的“自动换行”功能。我将垂直对齐更改为顶部(A1)、中间(B2)和底部(C3),看看它是否会对问题产生影响,正如@Peter K. 所建议的那样。然后,我使用自动行高功能自动调整单元格的高度,方法是选择整个工作表并双击行号 1 和 2 之间的水平线。

正如您在下图中看到的,文本换行正确,但在文本后面(顶部对齐)、文本前后(垂直居中对齐)或文本前面(底部对齐)添加了一个空行。

我希望选择行高,这样整个文本就能完全适合单元格,文本前后没有空白,就像 A4 中显示的另一个文本一样。问题似乎确实与文本和列宽有关。

我该如何摆脱这些不必要的空行?

使用 Alt+Space 手动添加换行符不会改变结果。

错误换行

由于问题模糊,已修改

答案1

额外的一行来自扩展或者字体定义。Excel
会计算 100% 缩放比例和打印字体所需的行高,但如果您使用不同的缩放比例,字母的缩放比例会略有不同,并且单词长度可能会导致换行符或多或少。

将表格比例改为 100%(右下角),问题就解决了。如果想让内容更大,请使用更大的字体,而不是缩放(或者接受偶尔出现的多余线条)。

如果这不能解决问题,那么打印屏幕字体的版本。尝试“打印预览”,并检查该视图是否不是有问题。

不幸的是,这是一个常见的已知问题,实际上没有太多方法可以避免。您可以选择另一种字体,或者只是另一种列宽,这样微小的差异就不会导致额外的换行符。

答案2

字体高度测量值比字形的可见部分略高,为例如的下端留出空间y。 还为下划线和特殊字符功能(例如 中的 )留出空间。这些功能的空间 可能会包含在 Excel 对齐和调整功能(例如自动行高)中。g
^~ÆÅÖ

编辑:字体(字型)的额外高度可能是您遇到的“额外空间”的根源。

将字体更改为其他字体可能会有所不同,这取决于 IT 的布局以及 Excel 如何计算空间。

参考:https://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format
注意 FONT_DESCENT 和 FONT_ASCENT 信息。

位图

在此处输入图片描述

Excel 公式将位图数据转换为可见格式:=SUBSTITUTE(HEX2BIN(A1,8),"0","_")

答案3

由于无法在我的 Excel 版本(版本 2205 Build 15225.20288 Click-to-Run)中从您的路径显示问题,因此我无法明确回答您。因此我无法测试是否成功。这也是因为我已经有一段时间没有遇到这个问题了,因为我目前没有采取任何措施来解决这个问题。

我的经验也不像您的经验那样细致入微,因为我从未遇到过它根据单元格的垂直对齐应用不同的(尽管显然相关!)效果。我的经验只是在单元格底部有令人烦恼的额外整行,类似于您的顶部对齐单元格(A1),这让我感到惊讶,因为我从不使用那种对齐方式(主要是因为几十年的经验,不时尝试使单元格内容相对于中心对齐下降到单元格中,而不是上升,而且这始终不是我的需要,所以......)而是使用中心(> 50%)和底部。

但是,我上次处理这个问题是在本网站上的一个问题上,虽然我无法指出它,而且解决方案(也许最好称之为“最终解决方案”,因为似乎不可能在工作期间阻止它,只能让它最终消失)至少可以说相当奇怪。只是“纯粹的奇怪”......不像“停止做有氧运动,每天吃 12 磅蛋糕来减肥”那样奇怪。(这确实有效......因为你死了,消瘦了......所以不向广告商致敬。)

解决方案是不使用任何旧方法将行高设置为自动。这很奇怪,因为通常如果 Excel 提供十种方法来调用一件事,并且它们都声称可以做到这一点,那么它们都会在同一个地方输入该子程序并执行相同的代码步骤。当它被称为“(现在是“旧版”)导入向导”和“文本到列”时会有所不同,后者执行相同子程序的子集,但在这种情况下它们不被称为同一件事,是吗?

从看到这个问题开始,我的所有测试样本都得到了可靠的解决方案,即使用该Ribbon's Home tab|Cells group|Format button|AutoFit Row Height机制为我选择的任何行设置行高。就是这样,没有其他方法可以将行高设置为自动。

这不是我给出的答案,只是我在测试它,因为我觉得它很有趣。(也许是一年前?)但是当其他方法(例如在行间双击)不起作用时,它确实有效。

所以我想说,把工作一直做完,或者太烦躁了,无法修复那里的问题,继续前进,直到太烦躁了......再一次,然后使用功能区中那个精确位置的精确命令将行高设置为自动(这不是一个带有子菜单的菜单......无论需要多少个层次点击才能到达你需要的东西......)。

我相信如果使用 VBA 来设置它,结果也是一样。只需要在 VBA 中设置它,而不是选择要操作的内容。因此,可以使用Ctrl-A并运行单行宏。或者,如果您在不允许使用宏的地方工作,请将宏的一行放在命名范围内,转到名称管理器并将复制Refers to到剪贴板,退出,使用Ctrl-A,然后Alt-F11将其粘贴到Immediate Window并按Enter运行它。

不敢保证 VBA 对此有用,但我相信它有用。同样,无法在这里测试,因为您的设置方法无法让我实现这一点。

附注:这与字体实际如何使用您通常看到的上下空间完全无关,因为字体有降部和精确的升部。正如他的图片所示,以及我个人所见,这些都是降部和升部所需的完整线条。完整的线条,而不是额外的空白。无论出于什么内部原因,Excel 的这个功能都会搞砸,并认为需要额外的线条。检查行高与看到许多内部行,而实际上它们都有字符。我的意思是,单元格中实际上显示了三行文本,您会发现行高为 38.25,而两行文本显示在类似的单元格中,带有额外的线条,就像他的照片中一样,并且您会发现相同的 38.25 行高。这些是完整的线条,而不是字体伪影。缩放确实带来了它自己的......“特殊”......问题(讨厌它),但虽然由于字体显示的混乱,它有时会看起来像这样,但它与此不同。

相关内容