Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >VBA:根据指定列删除重复行

VBA:根据指定列删除重复行

作者头像
Exploring
发布于 2022-09-20 06:33:24
发布于 2022-09-20 06:33:24
3.2K00
代码可运行
举报
运行总次数:0
代码可运行

文章背景:在工作生活中,有时需要进行删除重复行的操作。比如样品测试时,难免存在复测数据,一般需要删除第一行数据,保留后一行的数据。

Excel虽然自带删除重复项的功能,但在使用时存在不足。下面先介绍删除重复项的功能,然后再采用VBA代码实现删除重复行的功能。

(1) 删除重复项(Remove Duplicates)

http://mpvideo.qpic.cn/0b78uqabsaaaz4amrsu7bzqfbjgddgsaagia.f10002.mp4?dis_k=5256d7a923169f968ecfcb3f268affac&dis_t=1663655533&vid=wxv_1870563960463097864&format_id=10002&support_redirect=0&mmversion=false

删除重复项的功能存在两点不足,一是如果存在重复项,默认保留行号靠前的数据行;二是只能拓展到连续的数据列,而无法拓展到整行。

(2)VBA代码实现

本代码要实现的功能是根据品号进行重复行的删除。若有重复行,保留后一行数据。原始数据默认已经按品号升序排列。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub DeleteDuplicate()

    '根据指定列删除重复行
    
    Dim aWB As Worksheet, num_row As Integer
    
    Dim i As Integer, col As Integer
    
    Set aWB = ThisWorkbook.Sheets("data")
    
    aWB.Activate
    
    num_row = Range("C65535").End(xlUp).Row
    col = 3
    
    For i = 3 To num_row
    
        Do
        
            If Cells(i, col) = "" Then Exit For
        
            If Cells(i, col) <> Cells(i + 1, col) Then
            
                Exit Do
                
            Else
            
                Rows(i + 1 & ":" & num_row + 1).Copy
                Rows(i & ":" & i).Select
                aWB.Paste
            
            End If
            
        Loop
    
    Next
    
    MsgBox "Done!"
    
End Sub

运行效果展示:http://mpvideo.qpic.cn/0bf2duaggaaaxealfde7orqfahodmmoqayya.f10002.mp4?dis_k=c1694b0cf0d27dd74569d894d71a72e1&dis_t=1663655533&vid=wxv_1870564920639946762&format_id=10002&support_redirect=0&mmversion=false

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与编程实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
找出数组当中指定元素的位置
背景 这是一个在面试当中,经常被问到的题目,也是一个常见的搜索算法 示例 var arrs = [8,11,21,-3,67,22,55]; // 8--> 0,11---> 1 01 方式1-使用
itclanCoder
2022/03/31
9450
ITU AI 和多媒体研讨会:探索新的领域和跨 SDO 合力
本次研讨会于 2022 年 1 月 18 日,日内瓦时间 13 时至 17 时 20 分在线上召开。
用户1324186
2022/02/18
5980
聊个天就把生信分析做了!!!
2020年9月24日看到美国MD安德森癌症研究中心梁晗老师实验室发表在Cencer Cell的Next-generation Analytics for Omics Data的评论文章,介绍了其团队基于自然语言和人工智能开发的组学数据分析平台——DrBioRight。
生信交流平台
2022/09/21
5160
聊个天就把生信分析做了!!!
VBA: 多份文件的批量顺序打印(2)
文章背景:测试仪器的数据有些会以Excel文件的形式保存,工作量大时测试员会选中多份文件进行批量打印,同时可能需要删除一些无需打印的测试数据(比如空白样,错误数据等)。现在以批量打印Excel文件(.xlsx格式)为例,采用VBA编程,进行任务的实现。
Exploring
2022/09/20
1.4K0
VBA:  多份文件的批量顺序打印(2)
Excel: 通过Countif函数识别重复的数据
文章背景:在数据处理时,有时候需要判断某个数据是否重复出现;在录入数据时,有时需要避免数据的重复输入。此时,可以借助Excel的countif函数进行功能的实现。
Exploring
2022/09/20
1.5K0
Excel: 通过Countif函数识别重复的数据
VBA: 不连续单元格区域复制粘贴为数值
文章背景: 处理表格时,有时需要选中单元格区域,将区域内单元格的公式复制粘贴为数值。如果是连续的单元格区域,这样的操作是可行的。如果是不连续的单元格区域,这样的操作会报错。
Exploring
2022/09/20
1.5K0
VBA: 不连续单元格区域复制粘贴为数值
Python:用了这个库,就可以跟 Excel 说再见了
今天分享一个个比 Excel 更好用的 Python 工具,看完后,估计你要跟 Excel 说拜拜了。它就是 Mito
somenzz
2022/10/25
8290
用go做个编译器:语法树和属性计算(视频)
http://mpvideo.qpic.cn/0b2epmaaaaaa24ad4vb4evrfa66dab5qaaaa.f10002.mp4?dis_k=290407cedd17beab08342e6
望月从良
2022/03/28
3680
VBA: 冒泡排序法的代码实现
文章背景:冒泡排序(Bubble Sort)是排序算法里面比较简单的一个排序,在工作中用到的并不多,主要是想了解其中的算法思想,从而让我们的思维更加开阔。
Exploring
2022/09/20
8310
VBA:  冒泡排序法的代码实现
能动手就别逼逼:词法解析完全实现
以下几个视频展示了词法解析代码的完整实现。目前我们采用的方法属于“突发炼钢”,也就是我们只是简单的读入一系列字符,然后进行即时分析,在后面我们将采用更加系统化的方法,那就是使用有限状态自动机来完成词法
望月从良
2022/03/28
2330
VBA:基于指定列删除重复行
文章背景:在工作生活中,有时需要进行删除重复行的操作。比如样品测试时,难免存在复测数据,一般需要保留最后测试的数据。之前通过拷贝行的方式保留最后一行的数据(参见文末的延伸阅读1),但运行效率较低。目前通过借助数组和字典达到删除重复行的效果。
Exploring
2022/12/18
3.4K0
VBA:基于指定列删除重复行
收藏 | 几个好用到爆的Python小技巧!
---- CDA数据分析师 出品 01 Python 之 None 不是 0 http://mpvideo.qpic.cn/0b2edqaaaaaauaant3ncxzrfahgdaa
CDA数据分析师
2023/02/14
3740
收藏 | 几个好用到爆的Python小技巧!
【周末水文】我的iPhone7升级到了iOS14后,又可以再战两年了
苹果在9月17号推送了iOS14正式版,我在当天早上冒死(本人手机iphone7)升级到了iOS14。
Lvshen
2022/05/05
9900
【周末水文】我的iPhone7升级到了iOS14后,又可以再战两年了
VBA: DTPicker日期控件的使用
文章背景:最近在查看同事写的VBA代码时,发现了DTPicker日期控件。DTPicker是日期选择控件,自Win7开始,它就不是Windows系统自带的,需要下载MSCOMCT2.OCX,并在电脑上注册后才能使用。
Exploring
2022/09/20
9.5K0
VBA: DTPicker日期控件的使用
VBA: 单元格区域基于指定列重新排序
文章背景:在数据处理时,有时需要根据指定列的内容进行重新排序。比如样品测试时,假设存在5个测试点,其中2号点和3号点无需测,在做报告时,一般会保留2号点和3号点的位置,测试数据为空。针对排序的步骤,可以通过VBA代码实现。
Exploring
2022/09/20
1.1K0
VBA: 单元格区域基于指定列重新排序
VBA: 单元格区域基于指定列重新排序(2)
文章背景:在数据处理时,有时需要根据指定列的内容进行重新排序。比如样品测试时,假设存在5个测试点,其中2号点和3号点无需测,在做报告时,一般会保留2号点和3号点的位置,测试数据为空。
Exploring
2022/09/20
9310
VBA: 单元格区域基于指定列重新排序(2)
学习中心上新丨Python教程-Django框架快速入门到实战
腾讯云×千锋教育重磅推出全新课程《千锋图片云存储》Python 教程-Django 框架从入门到实战-基于腾讯云对象存储 COS。
云存储
2023/06/15
2810
学习中心上新丨Python教程-Django框架快速入门到实战
VBA: 统计各个文件夹内的指定文件个数
文章背景:某台仪器测量结束后,测试数据以pdf格式保存在日期文件夹内。想要通过获取12月份的pdf总数,计算当月产量。需要遍历各个日期文件夹,进行文件的统计汇总工作。
Exploring
2022/09/20
3.1K0
VBA: 统计各个文件夹内的指定文件个数
培训量化评估四级分析(视频分享)
培训量化评估四级分析 http://mpvideo.qpic.cn/0bf2duaaeaaa5aajigrpf5qvahodaioqaaqa.f10002.mp4?dis_k=77a76b3cfe6c
王佩军
2022/02/10
4330
来播放《最伟大的作品》(多媒体技能,程序员请进)
http://mpvideo.qpic.cn/0b2e2eaamaaakqaacmwienrfbuoda3iqabqa.f10002.mp4?dis_k=02926bf7f298b713f2ebbe1
用户5021203
2022/10/05
2420
来播放《最伟大的作品》(多媒体技能,程序员请进)
推荐阅读
相关推荐
找出数组当中指定元素的位置
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验