我有一个相当简单的电子表格应用程序,其中包含一些VBA代码,可以执行用户调用的简单行插入和删除操作。这是一个格式严格的电子表格,供没有Excel经验的人使用。插入和删除的代码很好。
工作表使用15行,此点下方的每一行都已隐藏。但是,在删除完整的行时,每个后续行按标准向上移动,留下一个“新的”空白行15.我希望此行为被否决,并且出现空行不
可能很简单吗?什么是防止这种行为的选择,如果这是不可能的,有什么提示可以抓取工作表的“最后可见”行的标识,以便手动隐藏它?
干杯
答案 0 :(得分:2)
您可能需要根据需要进行调整,但这应该有效。
Sub GetLastVisibleCell()
Dim rng As Range
Set rng = ActiveSheet.Columns(1).SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeLastCell)
If rng = vbNullString Then rng.EntireRow.Hidden = True
End Sub
答案 1 :(得分:1)
答案 2 :(得分:0)
最后一个可见行也可以使用end(xlup)语法返回。假设您的列A包含每个非空行的数据。
Sub GetLastVisibleCell()
Dim rng As Range
Set rng = cells(rows.count,1).end(xlup)
rng.EntireRow.Hidden = True
End Sub