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



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

工作表使用 15 行,此点以下的每一行都被隐藏了。但是,在删除整行时,接下来的每一行都会按标准向上移动,留下一个"新"的空白行 15。我希望这种行为被否决并且不会出现空白行。

可能很简单?防止这种行为的选项是什么,如果这是不可能的,是否有任何技巧可以抓取工作表中"最后一个可见"行的身份以便手动将其隐藏起来?

干杯

您可能需要根据需要

进行调整,但这应该有效。

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

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

MSDN 给出了一个示例

Worksheets("Sheet1").Range("A1:G37").ClearContents

最后一个可见行也可以使用 end(xlup) 语法返回。假设您的列 A 具有每个非空行的数据。

Sub GetLastVisibleCell()
Dim rng As Range
Set rng = cells(rows.count,1).end(xlup)
rng.EntireRow.Hidden = True

End Sub

最新更新