财务对账回单卡数怎么看(财务对账单里的重复值如何快速地删除)
你了解财务对账单里的重复值如何快速地删除吗?
今天就给大家来介绍这方面的知识,希望可以对大家有用。
财务工作中,你是否遇到焦头烂额不知如何解决的问题呢?
某粉丝,有几百个客户,需要将客户对应的数据复制到相应的表格。已经复制了1天,结果发现数据重复了。准备再重新操作,处理到凌晨应该能搞完。
哎,惨。。。
卢子简化一下表格,大概是这样,现在对账单已经生成到每个工作表了,就是里面的数据有的是重复的,需要将所有工作表的重复值删除。
删除重复值这个功能,默认情况下只能对一个表操作,如果选择全部工作表,是不允许操作的。
也就是说,这种问题只能借助VBA解决了。
直接写代码难度是比较大,可以录制一个删除重复值的宏,再加循环语句。
点开发工具,录制宏,选择区域,点数据,删除重复值,确定,开发工具,停止录制。
点VB,进入VBA的后台,在模块里面就能找到刚刚录制的宏。
好,删除重复值的代码出来了。下面就得考虑区域的问题,每个工作表的区域都起始行都一样,但结束行不一样,但有一个规律,最后一行都是合计。
判断合计的行数,可以用MATCH函数。
=MATCH("合计",A:A,0)
在VBA中也可以调用工作表函数。
Application.Match("合计", .Range("a:a"), 0)
核心的两个问题解决,剩下的就加循环语句、容错等。代码运行动画。
最终代码如下:
Sub 删除重复值()
Dim i%, h1%, h2%, Sh As Worksheet
On Error Resume Next
Application.ScreenUpdating = 0
For Each Sh In Worksheets
If Sh.Name <> "总明细" Then
With Sh
h1 = Application.Match("合计", .Range("a:a"), 0)
.Range("A5:L" & h1).RemoveDuplicates Columns:=Array(1, 12), Header:=xlYes
h2 = .Cells(h1, 1).End(xlUp).Row
If .Cells(h1, 1).Offset(-1) = "" Then
.Rows(h2 1 & ":" & h1 - 1).EntireRow.Delete
h1 = Application.Match("合计", .Range("a:a"), 0)
.Cells(h1, 1).Offset(0, 3) = "=sum(r5c:r[-1]c)"
.Cells(h1, 1).Offset(0, 5) = "=sum(r5c:r[-1]c)"
End If
End With
End If
Next Sh
Application.ScreenUpdating = 1
End Sub
VBA好用是好用,就是太难了,写代码、修改代码、测试代码都要花费大量时间。
来源:Excel不加班
【小会福利时间到】
小会又来送福利啦!
【工资标准表】
【变更工资申请表】
关注 私信小编:资料
即可领取以上资料哦!
因领取人数太多,若是不能及时回复,请大家耐心等待哦~
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com