【发布时间】:2019-02-11 13:28:49
【问题描述】:
我正在尝试创建一个宏,在其中搜索工作表的最后一列以查找值,如果在单元格中找到该值,则隐藏单元格的整行。我也在尝试为此使用动态范围,因为最后一列会发生变化。
With ws1
LastColumn = .Cells(1, Columns.Count).End(xlToLeft).Column
LastRow = .Cells(.Rows.Count, LastColumn).End(xlUp).Row
Set rDataRange = .Range(.Cells(2, LastColumn), .Cells(LastRow, LastColumn))
For Each rCell in RDataRange
If rCell.Value = "Yes" Then
rCell.EntireRow.Hidden = True
End If
Next rCell
End With
有人知道为什么这可能不起作用吗?
【问题讨论】:
-
您必须完全限定
With声明相关部分。例如Set rDataRange = Range(Cells(2, LastColumn), Cells(LastRow, LastColumn))应该是Set rDataRange = .Range(.Cells(2, LastColumn), .Cells(LastRow, LastColumn)) -
啊,那是我的错,我正在使用的计算机无法访问互联网,所以我不得不在手机上手动重新输入。它确实在我的代码中读到了
Set rDataRange = .Range(.Cells(2, LastColumn), .Cells(LastRow, LastColumn)),只是在这里打错了。