在 Excel VBA 中检查两个范围是否相等的最快方法[重复]

2024-07-04

假设您有两组数据,并且行数和列数相同。现在您想要检查一组单元格中的数据是否等于另一组中具有相同相对地址的单元格中的数据。如果一行的所有单元格都是如此,则从两组中删除该行。我可以通过比较每个单元格来非常轻松地进行编码,但这对于大型数据集来说并不好。请参阅下面的两列代码,其中两组数据恰好并排位于同一张工作表中,并且它们之间的列偏移量为 300。

Dim RngOb As Range
Dim c As Range

Range("A1", "B1").Select
set RngOb = Range(Selection, Selection.End(xlDown))

For Each c In RngOb.Rows
    If c.Cells(1,1).Value = c.Offset(0, 300).Cells(1,1).Value Then
        If c.Cells(1,2).Value = c.Offset(0, 300).Cells(1,2).Value Then    
            c.EntireRow.Delete
        End If
    End If
Next

我的实际数据有 100 多列,并且每天的列数都不同。我正在寻找一种智能、快速的方法来处理大型数据集。我非常感谢您的回答、反馈和批评。 :D


这是比较同构范围中的两行的简单方法......在此示例中,每个范围的第 5 行:

Sub RowCompare()
    Dim ary1() As Variant
    Dim Range1 As Range, Range2 As Range, rr1 As Range, rr2 As Range
    Set Range1 = Range("B9:F20")
    Set Range2 = Range("I16:M27")
    Set rr1 = Range1.Rows(5)
    Set rr2 = Range2.Rows(5)
    ary1 = Application.Transpose(Application.Transpose(rr1))
    ary2 = Application.Transpose(Application.Transpose(rr2))
    st1 = Join(ary1, ",")
    st2 = Join(ary2, ",")
    If st1 = st2 Then
        MsgBox "the same"
    Else
        MsgBox "different"
    End If
End Sub

如果单元格中嵌入了逗号,请在单元格中选择另一个字符JOIN

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

在 Excel VBA 中检查两个范围是否相等的最快方法[重复] 的相关文章

随机推荐

  • 在R中绘制多个不同尺寸和坐标的3D盒子

    最近我偶然发现了 R 中的 rgl Package 它可以用来创建交互式 3D 绘图 现在我想在一个 3d 图中可视化一组盒子 Box B 具有笛卡尔坐标 B coord x y z 对应于左下后角 尺寸 B dim x1 y1 z1 显然
  • Rails 未在 ajax 帖子上重新加载会话

    我在使用 jQuery 的 Rails 和 ajax 中遇到了一个非常奇怪的问题 尽管我不认为它特定于 jQuery 我的 Rails 应用程序使用 cookie 会话存储 并且我有一个非常简单的登录 可以在会话中设置用户 ID 如果会话中
  • 有没有基于 Maven 的 HTML 验证器

    我有一个包含许多 HTML 文件的项目 作为 Maven 构建过程的一部分 我想在这些文件上运行验证器以确保 这些文件在语法上是正确的 例如检查所有开始标签是否都有相应的结束标签 文件符合编码指南 有人可以推荐一个好的验证器来做到这一点吗
  • 以编程方式崩溃后重新启动应用程序 - Android

    有没有办法让我的应用程序在崩溃时自动重新启动 我的应用程序只是一个简单的媒体渲染应用程序 但是它偶尔会崩溃 应该是这样 这是可能吗 谢谢 我的代码看起来像这样 public void Play if mp null mp reset mp
  • 参数 Action 其中 T3 可选

    我有以下代码 public static MyMethod Do something ProtectedMethod param1 param2 Do something protected static void ProtectedMet
  • 如何在 JavaScript 中的类名语法中连接字符串?

    我有一个像这样的巨大字符串 i class i 我有一个变量叫做icon 我需要放置icon在两个引号之间 虽然感觉很简单 但我一直在努力理解它 有人可以帮忙吗 这里是 JS 新手 字符串的分隔符是 所以结束 连接icon 并恢复 cons
  • v-on:click事件Vue.js显示用户帖子

    我是一名学生 刚刚接触 Vue js 所以我对它还很陌生 现在我正在制作一个项目 我从 API 获取用户名 当您单击用户时 它必须显示相关帖子 但这不起作用 当我通过 v on click 事件单击按钮时 什么也没有发生 即使在控制台中也没
  • JBOSS给出org.apache.kafka.common.KafkaException:auth.conf无法读取

    当我在 wildfly v 10 中部署简单的 kafka 项目 作为 jar 运行良好 的 war 时 我收到一些 Zookeeper 连接异常 1 当 kafka 侦听器开始与 Zookeeper 连接时会发生这种情况 1 15 21
  • Boost MPL:仅当(成员)函数存在时才调用它

    我有一个类 A 它有一个模板参数 T 在某些用例中 类 T 提供了函数 func1 而在某些用例中 类 T 不提供该函数 A 中的函数 f 应该调用 func1 只要它存在 我认为这应该可以通过 boost mpl 实现 但我不知道如何实现
  • 远程控制内网机器上安装的windows服务

    我在本地 IIS 7 上部署了 Web 应用程序 并将应用程序池配置为在内置 NETWORK SERVICE 帐户下工作 我需要从这个 Web 应用程序检查 Windows 服务的状态 是否已启动 已停止等 我用这样的语句来得到它 publ
  • 如何在 Eclipse 中正确管理 Tomcat Web 应用程序?

    我曾经在我的机器上单独运行Tomcat 我有一个 Ant 脚本 可以重建我的项目 在本地部署它 然后重新启动 Tomcat 一切正常 但我无法在 Eclipse 中调试 Web 应用程序 因此 我学习了如何在 Eclipse 中设置 Tom
  • 在C++头文件中定义常量变量

    我正在开发的一个程序有许多适用于所有类的常量 我想制作一个头文件 Constants h 并能够声明所有相关的常量 然后在我的其他课程中 我可以包括 include Constants h 我使用它可以正常工作 ifndef define
  • 在lua中使用for循环创建多个变量

    我想使用for循环在lua中创建多个变量 除了最后一个字符之外名称相同 for i 1 10 1 do marker i do things end 我想要得到的几乎是 marker0 marker1 marker2 等等 我猜marker
  • 如何配置 go 命令以使用代理?

    我想跑go install安装tour http tour golang org 2 但我找不到使用代理访问互联网的选项 我不仅需要它来游览 还需要它来进行一般的 Go 开发 如何配置 Go 使用代理 Go 程序理解环境变量http pro
  • Tox 警告:在 testenv 中找到但未安装测试命令

    我在我的项目中使用 tox 这是我的tox ini file tox envlist py27 lint coverage skipsdist True testenv py27 deps rrequirements txt command
  • 如果不为空,则选择列值,否则使用另一个列值

    我在 mysql 表中有 2 列 a 和 b a 始终是字符串值 b 有时是字符串值 有时为 null 如何构造一个 mysql SELECT 以便如果 b 不为 null 则采用 b 否则采用 a 我尝试用 concat 创造一些魔法 如
  • 当我访问不存在路由的类时,如何在codeIgniter中设置默认函数?

    控制器是这样的 class Abc extends CI controller public function index public function f1 如果网址是http host app Abc index它得到函数索引如果网址
  • 奇怪的是相互重复的类定义

    我希望两个类中的类型声明相互依赖 这是使用 clang 和 gcc 进行编译的第一个示例 template
  • Laravel 自定义验证消息参数

    我正在使用 Laravel 5 1 我有一个 Summernotejs 表单元素 我已经成功创建了一个自定义验证规则 该规则获取从表单输入提供的 HTML 剥离标签 然后执行strlen 调用文本内容 因此我可以看到消息的长度 其中没有任何
  • 在 Excel VBA 中检查两个范围是否相等的最快方法[重复]

    这个问题在这里已经有答案了 假设您有两组数据 并且行数和列数相同 现在您想要检查一组单元格中的数据是否等于另一组中具有相同相对地址的单元格中的数据 如果一行的所有单元格都是如此 则从两组中删除该行 我可以通过比较每个单元格来非常轻松地进行编