gpt4 book ai didi

excel - VBA宏快速删除行

转载 作者:行者123 更新时间:2023-12-02 09:05:26 25 4
gpt4 key购买 nike

我有几个非常大的 Excel 数据文件,我需要遍历它们并删除 T 列中单元格值为 1 的所有行。现在我的代码如下所示:

Sub test()
Dim cell As Range

For Each cell In Worksheets("Sheet1").Range("T5", "T900000")
If cell.Value = 1 Then
cell.EntireRow.Delete
End If
Next cell
End Sub

它似乎有效,但需要永远运行,我将不得不这样做很多次。有没有更好的方法来做到这一点,或者有什么方法可以优化我已经拥有的东西以使其运行得更快?

最佳答案

这并不像您想象的那样工作...当您在迭代行时删除行时,您最终会跳过行。示例:假设您的行 A 列中有数字 1...10。您查看第一行并决定删除它。现在你看第二行。它的数字是3!你从来没有看过第 2 行!!

更好的方法是根据 T 列的标准过滤电子表格,复制它,将其粘贴到新工作表(带有格式等)。

您可以打开宏录制并手动执行此操作;然后您将获得准确的 VBA 代码。我确信这会快得多。

即使您不这样做,如果您想为每个删除内容的执行一次,请颠倒顺序(从末尾开始并向后操作)

关于excel - VBA宏快速删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375054/

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