0

HideEmptyColumns()宏隐藏所有没有任何数据的列。如何修改它以使其忽略标题行(第 1 行)?

Sub HideEmptyColumns()
  Dim Col As Range
  For Each Col In ActiveSheet.UsedRange.Columns
     Col.EntireColumn.Hidden = RangeIsEmpty(Col)
  Next Col
End Sub

Function RangeIsEmpty(R As Range) As Boolean
  Dim Cell As Range
  RangeIsEmpty = True
  For Each Cell In R.Cells
     If Cell.Value <> "" Then
        RangeIsEmpty = False
        Exit For
     End If
  Next Cell
End Function
4

1 回答 1

3

只需检查一下它在哪一行

Sub HideEmptyColumns()
  Dim Col As Range
  For Each Col In ActiveSheet.UsedRange.Columns
     Col.EntireColumn.Hidden = RangeIsEmpty(Col)
  Next Col
End Sub

Function RangeIsEmpty(R As Range) As Boolean
  Dim Cell As Range
  RangeIsEmpty = True
  For Each Cell In R.Cells
     'are we not on the first row (header row)
     If Cell.Row <> 1 Then
        If Cell.Value <> "" Then
           RangeIsEmpty = False
           Exit For
        End If
     End If
  Next Cell
End Function
于 2012-12-11T23:40:12.053 回答