gpt4 book ai didi

vba - 当单元格为空时隐藏行Excel(更快的方法)

转载 作者:行者123 更新时间:2023-12-03 02:45:34 25 4
gpt4 key购买 nike

我查看了一些文章和建议,并为我的问题找到了解决方案。

文章Faster way to hide empty rows建议在循环之前将 Application.ScreenUpdating 切换为 false,在循环之后切换为 true。它稍微加快了脚本速度,但对于 10.000 行,仍然需要相当长的时间。

要求:

如果该行中的第一个单元格为空,则隐藏整个行它需要向后兼容 2013 以外的其他 Excel 版本

Excel 2013 的当前工作解决方案

 Application.ScreenUpdating = False
Dim s As String
For i = 1 To range("A1:A10000").Count
s = i & ":" & i
If IsEmpty(Cells(i, 1).Value) Then
Rows(s).Select
Selection.EntireRow.Hidden = True
End If
Next
Application.ScreenUpdating = True

不幸的是,我不知道工作表中有多少数据,它可能包含少于我在示例中使用的 10.000 条数据,甚至更多。当我运行脚本时,它工作正常,但需要相当长的时间才能处理工作表中所有单元格的 10.000 行和年龄。

加载工作簿时宏将自动运行(还不知道如何做到这一点,哈哈)

最佳答案

Dim rngBlnk As Range

On Error Resume Next 'in case no blanks are present...
Set rngBlnk = Range("A1:A100000").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0

If Not rngBlnk Is Nothing Then
Debug.Print rngBlnk.Address()
rngBlnk.EntireRow.Hidden = True
End If

关于vba - 当单元格为空时隐藏行Excel(更快的方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27830796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com