我有一张Excel工作表,其中包含固定数量的可见行。我想写一个宏来在最后一个可见行之后插入一行。
为此,我首先要确定当前最后一个可见行是什么。我试着编写以下内容但是出现了编译错误。我不太了解VB,所以我在While循环中做错了。
感谢。
Sub AddRequirementRule()
Dim rowNumber As Long
rowNumber = 1
While (Not ActiveSheet.Row(rowNumber).Hidden)
rowNumber = rowNumber + 1
End While
MsgBox (rowNumber)
另外,在哪里可以在Excel的宏编辑器(VBA 7.0)中找到有关错误的更多信息?
答案 0 :(得分:2)
我认为这样做不会那样 尝试检查这种方法以避免编译错误:
While (Not thisworkbook.Sheets(1).range("A" & rowNumber).entirerow.hidden)
rowNumber = rowNumber + 1
Wend
有关错误的更多信息,我建议您使用错误处理。 http://www.cpearson.com/excel/errorhandling.htm
答案 1 :(得分:0)
我的剧本完全错了。我不应该使用End While
而是使用Wend
。
我还必须做Kim建议的事情:Range("A" & rowNumber).EntireRow.Hidden
而不是Row(rowNumber).Hidden
。
这是正确的代码:
Sub AddRequirementRule()
Dim rowNumber As Long
rowNumber = 1
While (Not ActiveSheet.Range("A" & rowNumber).EntireRow.Hidden)
rowNumber = rowNumber + 1
Wend
MsgBox (rowNumber)
End Sub
谢谢!