使用VBA确定Microsoft Excel中最后一个可见行
我有一个固定数量的可见行的Excel工作表。 我想写一个macros来插入最后一个可见行之后的行。
为此,我首先要确定当前最后一个可见行是什么。 我试图写下面,但我得到一个编译错误。 我不太了解VB,所以我在While循环中正确地做了错误的事情。
谢谢。
Sub AddRequirementRule() Dim rowNumber As Long rowNumber = 1 While (Not ActiveSheet.Row(rowNumber).Hidden) rowNumber = rowNumber + 1 End While MsgBox (rowNumber)
在附注中,我可以在哪里find有关Excelmacros编辑器(VBA 7.0)中错误的更多信息?
我认为这不会那样工作。
尝试检查这种方式来避免编译错误:
While (Not thisworkbook.Sheets(1).range("A" & rowNumber).entirerow.hidden) rowNumber = rowNumber + 1 Wend
有关错误的更多信息,我build议您使用error handling。 http://www.cpearson.com/excel/errorhandling.htm
我的脚本完全错了。 我不应该用End While
而是Wend
。
我也必须做什么金build议: Range("A" & rowNumber).EntireRow.Hidden
而不是Row(rowNumber).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
谢谢!