我尝试在工作表中找到空单元格,然后隐藏整行。我可以隐藏和取消隐藏行...但我似乎还没有理解正确找到单元格的概念。
我收到错误的参数计数或无效的赋值错误消息。
Sub hideAndSeek()
Dim zellbereich As String
For i = 7 To 43
If Not IsEmpty(Worksheets("project").Range.Cells(i, 2)) Then
zellbereich = i & ":" & i
Rows(zellbereich).Select
Selection.EntireRow.Hidden = False
End If
Next
End Sub
感谢您的帮助!
答案 0 :(得分:1)
这不是引用工作表单元格的正确方法(它会导致运行时错误):
Worksheets("project").Range.Cells(i, 2)
看起来应该是这样的:
Worksheets("project").Cells(i, 2)
无论如何,这项任务可以更轻松地完成。以下是执行此操作的代码:
Sub hideAndSeek()
Dim rng As Excel.Range
Dim rngEmpty As Excel.Range
'------------------------------------------------------------
With Worksheets("project")
Set rng = Range(Cells(7, 2), Cells(43, 2))
rng.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End With
End Sub
我认为您只想检查范围B7:B43,因为这是您的原始代码所暗示的。如果不是这样,您可以更改此部分:
Set rng = Range(Cells(7, 2), Cells(43, 2))
对于其他范围(请注意Cells(7, 2)
表示B列和第7行,而不是相反)。