如果 0 或 "" 删除行:代码可以工作,但速度很慢

2024-03-02

问题:

在这个论坛上的录音机和帮助下,我编写了一个代码(用于按钮)。 “i”列有(来自第 25 行)“Pcs”或一个数字。我的宏找到 Pcs 并将其更改为“”,然后宏删除“”和 0。填充单元格的长度是可变的,所以我将 500 作为“结束”,但它永远不会达到那个值。如果我运行宏,它可以工作并完成工作,但需要很长时间,特别是因为它必须执行 500 行。

Sub Fix()

Dim intEnd As Integer
Range("M1").Select
Cells.Replace What:="pcs", Replacement:="", LookAt:=xlPart, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
intEnd = 500

Range("I25").Select

Do Until ActiveCell.Row = intEnd

If Int(ActiveCell.Value) = 0 Then
Range(ActiveCell.Row & ":" & ActiveCell.Row).Delete
intEnd = intEnd - 1
Else
ActiveCell.Offset(1, 0).Select
End If

Loop
End sub

我很高兴我可以在论坛和录音机的帮助下制作这个宏,但现在我被困在加速中,没有真正的线索从哪里开始。有人有提示吗?

谢谢,如果需要更多信息或努力,请告诉我。


要以快速可用的方式完成此操作,您可以使用以下命令:

Sub DelMe()
  Dim i As Long, x As Variant, y As Range
  With Sheets("Sheet1")
    x = .Range("I1", .Cells(Rows.Count, 9).End(xlUp)).Value
    If UBound(x) < 25 Then Exit Sub
    For i = 25 To UBound(x)
      If x(i, 1) = 0 Or x(i, 1) = "" Or InStr(1, x(i, 1), "pcs", vbTextCompare) > 0 Then
        If y Is Nothing Then
          Set y = .Rows(i)
        Else
          Set y = Union(y, .Rows(i))
        End If
      End If
    Next
    y.EntireRow.Delete xlUp
  End With
End Sub

它只是立即删除所有范围(您想要删除的范围)。

如果你有问题,就问吧 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 0 或 "" 删除行:代码可以工作,但速度很慢 的相关文章

随机推荐

  • C++ - 区间树实现

    有人知道有什么好办法吗interval tree在C 中实现 显然 模板驱动的东西更好boost 风格 还有一个问题 如果有人测试过 会做一个基本的测试std vector基于排序的区间树实现可以击败通用区间树 O lg 运算 在实践中 我
  • JQuery:在“内存”而不是 DOM 中构建 HTML

    有没有办法在将 HTML 片段添加到 DOM 之前 预先构建 它 例如 mysnippet append h1 hello h1 mysnippet append h1 world h1 destination append mysnipp
  • JavaScript 函数声明

    下面给出的 JavaScript 代码片段是某种函数声明吗 如果没有 有人可以概述一下它们是什么吗 some func function value some code here and show function value some c
  • 如何复制视图的所有属性?

    我正在创建一个货币汇率应用程序来学习 Android 该应用程序将在列表中列出所有汇率 每个汇率都有这样的布局 本质上
  • 指针到指针到指针[重复]

    这个问题在这里已经有答案了 可能的重复 用于多级指针取消引用 https stackoverflow com questions 758673 uses for multiple levels of pointer dereferences
  • React Native - 如何在地图函数中传递索引

    我有一个地图函数来重复动态地创建组件 假设是这样的 renderBoxes return Array map data gt this myFunction indexOfThisArray 如何传递数组的索引 这样 myFunction
  • 将视图从一种布局动画化到另一种布局

    检查附图以方便解释 翻译动画可以工作 但它会在同一视图内进行动画处理 我希望视图从一种布局飞出到另一种布局 我从这里的另一个答案尝试过这个 相同布局的动画 public class Animations public Animation f
  • 无法在 PHP 中创建不区分大小写的正则表达式

    我无法在 php 中创建有效的正则表达式 我在用着i标记为正则表达式模式 但它不会对我的脚本的结果产生影响 page Test page1 test var dump preg match test i page int 0 var dum
  • 为引用的程序集引发 FileNotFoundException

    我真的很奇怪FileNotFoundException第一次尝试使用我引用的程序集中定义的类时抛出 程序集没有更改 项目文件中的位置与磁盘上的物理路径正确对应 当我将安装程序添加到 Windows 服务和安装项目时 由两个库项目 一个 Wi
  • iOS8后台获取问题

    我在 ios8 之前使用后台获取没有问题 但在 ios8 中 当我在手机上模拟后台获取时 我首先收到一条错误消息 指出我无权播放声音 因此我没有收到任何本地通知 然后打开应用程序后 应用程序崩溃 我收到这个奇怪的错误 由于未捕获的异常而终止
  • fetch.max.wait.ms 与 poll() 方法的参数

    在提出问题之前 我想指出已经有人提出了类似的问题here https stackoverflow com questions 50302119 apache kafka understanding the relationship betw
  • 是否可以在groovy函数上设置环境变量

    我知道我可以在一个阶段有一个关于詹金斯管道 声明性 的环境部分 像这样 stage Name environment NAME value steps script Do something using these env vars 我想编
  • 删除条件格式

    我正在尝试使用 C 和以下代码添加条件格式 Microsoft Office Interop Excel FormatCondition formatConditionObj null formatConditionObj Microsof
  • 检查对象是否声明为 const

    如果对象被声明为 const 我想中断编译 以下不起作用 include
  • 颤动设计曲线布局

    在颤振中 我知道我们可以画线来设计弧形布局 如下图所示 但我只是在 flutter 上学习这个功能 我无法设计它 也许在 flutter 中我们有一些实现的库或源代码 但我无法找到和设计它 请注意 屏幕右侧和曲线之间的空白可在高度和宽度上调
  • new Object{} 和 new Object(){} 有什么区别[重复]

    这个问题在这里已经有答案了 我用这种方式在 C 中定义类的对象 var something new SomeThing Property SomeProperty 这样 var something new SomeThing Propert
  • 指定的架构无效。错误:同名的多个类型

    我正在 EF 6 中工作 当我尝试运行我的项目时遇到以下问题 指定的架构无效 错误 名称为 TableName 的多种类型存在于 不同命名空间中的 EdmItemCollection 基于约定的映射 需要唯一的名称 而不考虑命名空间 Edm
  • ES6 Map:变换值

    我正在开发一个项目 经常需要转换 ES6 映射中的每个值 const positiveMap new Map hello 1 world 2 const negativeMap new Map
  • 通过blueimp jquery-fileupload异步上传多个文件

    我正在使用 jQuery 文件上传库 http github com blueimp jQuery File Upload http github com blueimp jQuery File Upload 并且我一直在思考如何使用满足以
  • 如果 0 或 "" 删除行:代码可以工作,但速度很慢

    问题 在这个论坛上的录音机和帮助下 我编写了一个代码 用于按钮 i 列有 来自第 25 行 Pcs 或一个数字 我的宏找到 Pcs 并将其更改为 然后宏删除 和 0 填充单元格的长度是可变的 所以我将 500 作为 结束 但它永远不会达到那