VBA即用型代码手册:删除重复行Delete Duplicate Rows

news2024/11/16 4:51:57

我给VBA下的定义:VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率,而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。

作为我的学员要利用我的积木编程思想,积木编程最重要的是积木如何搭建及拥有积木。在九套教程中我给出了大量的积木,同时讲解了如何搭建。为了让学员拥有更多的积木,我开始着手这部VBA即用型代码手册(汉英)》的创作这部手册约600页,集合约500多个的案例,案例我用汉语和英语同时发布,一方面学员从中可以更好的领会和掌握VBA中用到的一些英语知识,另一方面,大家可以看到各种各样的积木。这部手册是大家学习和工作中的不可多得的实用资料。今日的内容是: VBA即用型代码手册:删除重复行Delete Duplicate Rows0bae7256bafb90db701531163a5a3bbc.jpeg

分享成果,随喜正能量】活得通透的人 ,没有特别想维持的关系 ,也没有特别想要的东西 ,走近的人不抗拒 ,离开的人不强留 ,就连吃亏也懒得计较。。

第四章 工作表代码

Worksheet Codes

18 删除重复行Delete Duplicate Rows

此宏将删除在列表或工作表中出现两次的行。如果两个单元格相同,则此宏将删除第一个匹配项下具有相同单元格的每一行。第一个实例仍将保留,但原始单元格下方的行中的所有相同单元格都将被删除。为了运行宏,您需要选择要在其中搜索重复项的整个列,然后运行该宏。

This macro will delete rows that appear twice in a list or worksheet. If two cells are identical, this macro will delete every row with an identical cell which is underneath the first occurrence. The first instance will still remain, but all identical cells in the rows underneath the original cell will be deleted. In order to run the macro, you need to select the entire column where you want to search for duplicates and then run the macro.

Sub mynzDeleteDuplicateRows()

'此宏将删除位于第一次出现的行下的所有重复行。

'使用宏时,请选择一列以检查重复项,然后运行宏,所有重复项都将被删除,只保留第一个重复项。

Dim R As Long

Dim N As Long

Dim V As Variant

Dim Rng As Range

On Error GoTo EndMacro

Application.ScreenUpdating = False

Application.Calculation = xlCalculationManual

'确定列

Set Rng = Application.Intersect(ActiveSheet.UsedRange, _

ActiveSheet.Columns(ActiveCell.Column))

Application.StatusBar = "正在处理行: " & Format(Rng.Row, "#,##0")

N = 0

For R = Rng.Rows.Count To 2 Step -1

If R Mod 500 = 0 Then

Application.StatusBar = "正在处理行: " & Format(R, "#,##0")

End If

V = Rng.Cells(R, 1).Value

If V = vbNullString Then

If Application.WorksheetFunction.CountIf(Rng.Columns(1), vbNullString) > 1 Then

Rng.Rows(R).EntireRow.Delete

N = N + 1

End If

Else

If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then

Rng.Rows(R).EntireRow.Delete

N = N + 1

End If

End If

Next R

EndMacro:

Application.StatusBar = False

Application.ScreenUpdating = True

Application.Calculation = xlCalculationAutomatic

MsgBox "Duplicate Rows Deleted: " & CStr(N)

End Sub

ca6bdb4d7ff8e8301f68a0b02d0fcaf7.jpeg

  • 本节内容参考程序文件:Chapter04-2.xlsm

e638addc858f8be360294d75dbde79f2.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

e492e53a281aa584551d791e360d119b.jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1809679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【python】python化妆品销售logistic逻辑回归预测分析可视化(源码+课程论文+数据集)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

基于51单片机的车辆动态称重系统设计

一 动态称重 所谓动态称重是指通过分析和测量车胎运动中的力,来计算该运动车辆的总重量、轴重、轮重和部分重量数据的过程。动态称重系统按经过车辆行驶的速度划分,可分为低速动态称重系统与高速动态称重系统。因为我国高速公路的限速最高是120,所以高速动态称重系统在理论…

按键精灵在Win11中弹窗出现乱码并且自带的部分系统插件不能使用的解决方法

按键精灵中出现以下问题: 提示信息的弹窗出现乱码: 系统自带的部分像 plugin. 开头的插件不能使用,如下:s Plugin.Sys.GetDateTime() screenX Plugin.GetSysInfo.GetScreenResolutionX screenY Plugin.GetSysInfo.GetScreenRe…

线程知识点总结

Java线程是Java并发编程中的核心概念之一,它允许程序同时执行多个任务。以下是关于Java线程的一些关键知识点总结: 1. 线程的创建与启动 继承Thread类:创建一个新的类继承Thread类,并重写其run()方法。通过创建该类的实例并调用st…

【C语言】插入排序(经典算法,建议收藏!!!)

目录 1、原理2、代码展示3、解析代码4、适用场景 1、原理 插入排序(Insertion Sort)是一种简单直观的排序算法,其原理可以简述如下: 1.分已排序区间和未排序区间: 将数组分为已排序区间和未排序区间。初始时,已排序区…

Vue3父组件如何访问子组件属性和方法

本篇内容主要是父组件如何访问子组件的属性和方法 文章目录 子组件 //son.vue代码const list (info) >{console.log(info) }const name ref("XXXX")//子组件向父组件暴露了一个方法,然后父组件就可以去使用子组件里面的一些属性和方法了 //子组件向…

突破网络屏障:掌握FRP内网穿透技术

1.FRP介绍 1.frp是什么 frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 I…

Python 潮流周刊#55:分享 9 个高质量的技术类信息源!

大家好,我是猫哥,今天给大家分享几个高质量的技术类信息源。 本文分享的信息源都是周刊类型的,所谓周刊类,就是以固定每周的频率更新,每期分享很多精华内容的链接。它的特点是信息密度极高,可以节省你去查…

log4j日志打印导致OOM问题

一、背景 某天压测,QPS压到一定值后机器就开始重启,出现OOM,好在线上机器配置了启动参数-XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath/**/**heapdump.hprof。将dump文件下载到本地,打开Java sdk bin目录下的jvisualvm工具&a…

2024PTA算法竞赛考试编程题代码

目录 前言 题目和代码 L1-006 连续因子 L1-009 N个数求和 L2-004 这是二叉搜索树吗? L2-006 树的遍历 L2-007 家庭房产 L4-118 均是素数 L4-203 三足鼎立 L2-002 链表去重 L2-003 月饼 L2-026 小字辈 L4-201 出栈序列的合法性 L4-205 浪漫侧影 前言 所…

BarTender 常见的使用要点

BarTender 简述 BarTender是由美国海鸥科技(Seagull Scientific)推出的一款条码打印软件,被广泛应用于标签、条形码、证卡和RFID标记的设计和打印领域。它在全球范围内拥有众多用户,被公认为标签打印方面的全球领先者。BarTender…

把 FolkMQ 内嵌到 SpringBoot2 项目里(比如 “诺依” 啊)

FolkMQ (消息中间件)支持内嵌、单机、集群、多重集群等多种部署方式。 内嵌版,就相当于 H2 或 SQLite 数据库一样。给一些小项目(或者特别需求)带来了方便。大项目,则可以使用独立部署的 “单机版” 或 “…

搞懂银行的各类号码 — Account Number, Routing Number 和 Swift Code

1. 前言2. 名词解释 2.1. Debit Card Number 储蓄卡卡号2.2. Account Number 账户号码2.3. Routing Number 路由号码2.4. SWIFT Code SWIFT 号码3. 查找信息 3.1. 支票3.2. 网上银行3.3. 手机银行4. SWFIT Code 4.1. 看懂 SWIFT Code4.2. 询问银行4.3. Google 大神4.4. 部分常用…

24.6.9( 概率dp)

星期一: abc356 D atc传送门 思路:按位与操作,M的非零位对答案一定没有贡献,对M为1的位,考虑有多少k此位也为1 按位枚举,m此位为0跳…

CAS Server Restful接口实现后台认证

背景 对于一些比较复杂定制化登录页的情况下,之前提到过可以自定义修改使用CAS Server提供的登录页这种操作已经明显跟不上复杂定制场景了,所以CAS Server也提供了支持Restful接口,支持服务端后台登陆,对于复杂登陆场景时&#x…

vscode 访问容器的方式

方法一:先连服务器,再转入容器 配置客户机A M1. 客户机A通过 vscode 连接服务器B,再连接容器C 配置vscode的ssh配置文件:~.ssh\config(当需要多个不同的连接时,使用 IdentityFile 指定公钥位置)…

20240605解决飞凌的OK3588-C的核心板刷机原厂buildroot不能连接ADB的问题

20240605解决飞凌的OK3588-C的核心板刷机原厂buildroot不能连接ADB的问题 2024/6/5 13:53 rootrootrootroot-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ ./build.sh --help rootrootrootroot-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ ./build.sh lun…

280 基于matlab的摇号系统GUI界面仿真MATLAB程序

基于matlab的摇号系统GUI界面仿真MATLAB程序,输入总数量及摇号需求,进行随机性摇号,并对摇取的号码进行双重随机性数据检测,确定是否符合要求。程序已调通,可直接运行。 280 GUI人机交互 摇号系统GUI界面仿真 - 小红书…

本地搭建支持语音和文本的中英文翻译服务-含全部源代码

实现目标 1、支持文本中英文互译; 2、支持中文语音输入; 3、支持英文语言输入; 进阶(未实现) 4、优化web界面; 5、优化语音输入js实现逻辑; 6、增加语音输入自纠错模型,纠正语音识别…

【PR2019】怎样批量添加转场效果及修改默认持续时间

一,设置“交叉溶解”效果到所有素材 选择效果,右击“将所选过渡设置为默认过渡”: 框选所有素材,“Ctrl D”: 每个素材中间有有了交叉溶解的效果: 二,修改效果属性 2.1,单个修…