删除Excel行而不取消隐藏另一个VBA

时间:2012-10-09 13:13:11

标签: excel vba excel-vba

我有一个相当简单的电子表格应用程序,其中包含一些VBA代码,可以执行用户调用的简单行插入和删除操作。这是一个格式严格的电子表格,供没有Excel经验的人使用。插入和删除的代码很好。

工作表使用15行,此点下方的每一行都已隐藏。但是,在删除完整的行时,每个后续行按标准向上移动,留下一个“新的”空白行15.我希望此行为被否决,并且出现空行

可能很简单吗?什么是防止这种行为的选择,如果这是不可能的,有什么提示可以抓取工作表的“最后可见”行的标识,以便手动隐藏它?

干杯

3 个答案:

答案 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)

而不是删除行,而是清除它:

msdn举了一个

的例子
Worksheets("Sheet1").Range("A1:G37").ClearContents

答案 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