我正在尝试Hiding Rows that do not Have Values VBA
的解决方案代码(不适合我):
Dim rowRange As Range
BeginRow = 2 'Start after Master Menu item
EndRow = 252 'Filter all rows in sheet (about 730)
ColumnsWithValues = 0 'Counter for number of columns in a row that have a value. If 0, hide the row.
ColumnStart = 2 'Start where you have group values
ColumnEnd = 9 'Maximum number of groups
RowNumber = 0
ColumnNumber = 0
For RowNumber = BeginRow To EndRow
Set rowRange = Range(Cells(RowNumber, ColumnStart), Cells(RowNumber, ColumnEnd)).SpecialCells(xlCellTypeVisible)
If Application.WorksheetFunction.CountA(rowRange) = 0 Then
rowRange.EntireRow.Hidden = True
End If
'Repeat for all rows
Next RowNumber
End Sub
我的工作簿
给出错误104;没有发现细胞。
我在哪里弄错了?
答案 0 :(得分:1)
SpecialCells
会引发错误 - 您可以使用On Error Resume Next
忽略该错误,然后进行测试以查看是否设置了rowRange
:
Dim rowRange As Range
BeginRow = 2 'Start after Master Menu item
EndRow = 252 'Filter all rows in sheet (about 730)
ColumnsWithValues = 0 'Counter for number of columns in a row
'that have a value. If 0, hide the row.
ColumnStart = 2 'Start where you have group values
ColumnEnd = 9 'Maximum number of groups
RowNumber = 0
ColumnNumber = 0
For RowNumber = BeginRow To EndRow
Set rowRange = Nothing
On Error Resume Next
Set rowRange = Range(Cells(RowNumber, ColumnStart), _
Cells(RowNumber, ColumnEnd)).SpecialCells(xlCellTypeVisible)
On Error Goto 0
If Not rowRange Is Nothing Then
If Application.WorksheetFunction.CountA(rowRange) = 0 Then
rowRange.EntireRow.Hidden = True
End If
End If
'Repeat for all rows
Next RowNumber
End Sub