我有一个相当大的Excel工作表,但是我一次只对一定数量的列感兴趣。现在有些列包含相当长的文本,需要较大的单元格高度。隐藏这些列之后,我想将可见行的单元格高度重新调整为最佳高度,以便更好地浏览我的工作表。
如何在Excel中实现这些开箱即用或使用特殊的缩放VBA宏?
我不是Excel专家,所以任何帮助都欢迎她。
您可能已经将具有长文本的单元格设置为"换行文本"。如果您重新设置,那么无论内容有多长,文本都将显示在一行中。
如果你对所有隐藏的列都这样做,Excel能够正确计算所需的高度:
Sub setheight()
Dim col As Range
For Each col In ActiveSheet.UsedRange.Columns
' Set WrapText to false if column is hidden
col.WrapText = Not col.Hidden
Next
ActiveSheet.UsedRange.EntireRow.AutoFit
End Sub
不幸的是,没有简单的方法可以自动触发这个,因为当显示/隐藏列时没有触发事件(是的,有一个,但这与ribbon有关)。如果你想看看,请参阅触发事件在Excel VBA当行或列是隐藏的)
有许多方法可以触发子元素,例如,您可以为宏创建一个键盘快捷方式。我有时使用的另一种方法是在特定单元格或区域的DoubleClick上创建触发器。我建议运行代码时,顶行是双击。将以下代码放入工作表模块Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row > 1 Then Exit Sub
setheight
Cancel = True
End Sub