2

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

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

可能很简单?防止这种行为的选项是什么,如果这是不可能的,是否有任何提示可以获取工作表的“最后可见”行的身份以便手动将其隐藏?

干杯

4

3 回答 3

1

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

msdn举了一个例子

Worksheets("Sheet1").Range("A1:G37").ClearContents
于 2012-10-09T13:16:35.943 回答
1

您可能需要根据自己的需要进行调整,但这应该可以。

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
于 2012-10-09T13:31:57.477 回答
0

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

Sub GetLastVisibleCell()

Dim rng As Range

Set rng = cells(rows.count,1).end(xlup)
rng.EntireRow.Hidden = True


End Sub
于 2012-10-09T17:01:28.613 回答