这个问题在这里已有答案:
我在Excel中有一个包含文本内容的单元格,我想格式化单元格,以便调整其高度以适应可以跨越多行的内容。我怎样才能实现这种行为?
这个问题在这里已有答案:
我在Excel中有一个包含文本内容的单元格,我想格式化单元格,以便调整其高度以适应可以跨越多行的内容。我怎样才能实现这种行为?
Answers:
来自http://support.microsoft.com/kb/149663
若要调整行的高度以适合单元格中的所有文本,请按照下列步骤操作:
选择行。
在Microsoft Office Excel 2003和早期版本的Excel中,指向“格式”菜单上的“行”,然后单击“自动调整”。
在Microsoft Office Excel 2007中,单击“主页”选项卡,单击“单元格”组中的“格式”,然后单击“自动调整行高”。
选中所有行时也可以使用
尝试
选择列 - >右键单击列 - >单元格格式 - >对齐选项卡 - >自动换行文本
Wrap Text
再次关闭然后再打开,Excel将调整行高以调整以适应最高的行。如果行的高度是动态变化的,那么不适合,但如果你正在处理静态文本,它应该没问题。
VBA解决方案是使用以下内容:
Call Application.ActiveCell.AutoFit
我可以按预期工作的唯一方法是使用CTRL-A突出显示整个工作表,取消单击工具栏中的“自动换行”按钮,然后重新选择它。没有其他设置更改,但每行现在是其内容的“正确”高度。
我创建了以下VB代码,以便在范围内的单元格(B2:B1500)中调整标题行的大小,因为日期值超过12/28/2014会导致标题显示警告,这些日期在时间表中会进入2015年第1周:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an Action when they are changed.
Set KeyCells = Range("B2:B1500")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Change the height of the header row when one of the defined cdlls is changed
Rows("1:1").EntireRow.AutoFit
End If
End Sub