我在单元格中有一个Chr(10)
cell.WrapText = False
cell.EntireRow.AutoFit ' AutoFit works
' ------------ but:
cell.WrapText = True
cell.EntireRow.AutoFit ' AutoFit works only if the cell has less then five lines.
如果我添加一些字符(多一行) - AutoFit不起作用。文字在第一行和最后一行被剪切 着名的excel 2010
答案 0 :(得分:4)
这取决于数据的大小以及列的宽度。原因是行可以扩展的最大高度为409.5 (546 pixels)
。如果手动增加行的高度,您会注意到在特定高度之后,您将无法增加行的高度。检查那个高度是多少:)同样是宽度的概念。这适用于行和列。如果是列,则最大宽度为254.86 (1789 pixels)
我将此代码用于演示目的。
Option Explicit
Sub Sample()
ActiveCell.WrapText = True
ActiveCell.EntireRow.AutoFit
MsgBox ActiveCell.RowHeight
End Sub
见此截图
此作品
这不是
该行已达到最大值。它不能超越它。
处理此问题的最佳方法是增加色谱柱的宽度。
<强>后续强>
它之所以不起作用的原因是因为你在该行中有多个包含数据的列,而你试图将WrapText设置为1个单元格,因此它无法正常工作。如果您有多列数据,则必须使用cell.EntireRow.WrapText = True
而不是ActiveCell.WrapText = True
答案 1 :(得分:0)
一个相关的解决方案,以防有人帮助。我的数据具有“自动换行”功能,并且单元格中的换行符来自使用“ Char(10)”的公式复制数据。我需要换行。
例如,单元格中的数据应显示如下:
城市:纽约(1950)
国家:美国
但是它显示了这样的内容:
城市:新
约克(1950)
国家:
美国
选择该列并单击以进行自动调整会带来一些改进:
城市:纽约
(1950)
国家:美国
第二次重复手动自动调整将文本设置为所需的格式。
如果一行中有更多用空格分隔的文本,则将进行更多的自动调整尝试,最终将完全纠正格式。
因此,在我的VBA代码中,我复制了此代码,并重复了自动调整代码,重复了我知道可以解决问题的次数:
this.props.handleDelete
(如果没有“ DoEvents”,它可能会起作用。我没有尝试过)