吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 15504|回复: 227
收起左侧

[原创工具] [20230807更新]Excel双列数据对比工具,适用于财务的现金日记账核对

    [复制链接]
wjbych 发表于 2023-7-24 15:06
本帖最后由 wjbych 于 2023-8-8 11:53 编辑

2023-08-08修改一下bug:
1、修改保留法核对的一个错误
2、对于借方和贷方在同一行上都有数据的情况,保留法核对适用,删除法核对不适用
3、对于借方和贷方在同一行上只有一个数据的情况,两种核对法都适用
4、对于保存时出错的问题,这个可以用Ctrl+C 和Ctrl+V来复制数据,导致出错是因为表格中某些单元格有问题,存在不可见的对像

下载附件 双列对比工具.rar (401.92 KB, 下载次数: 565)


感谢【沙罗树下】提供的改进建议和样例表。

今天做了个更新,使它更适用于核对现金日记账和会计往来,需要注意的是名称中要有借方和贷方


更新如下:
1、更新了界面,由简单按钮变成置顶工具栏了。
2、增加了一种核对方式,就是会删除掉核对上的行,保留没有核对上的,叫删除法核对
3、原有的核对方式还继续存在,叫保留法核对,会标记借方哪一行和当前的贷方是核对上的。
4、原来只能是A、B两列,现在可以是任意列,借方和贷方两列也不用挨在一起,比如借方在第一列,贷方在第4列,这也是可以核对的


需要注意的:
1、导入表格时可以有任意列,但第一行一定要是列名称。
2、列名称中必需要包含【借方】和【贷方】这两个列名称,找不到这两个是无法核对的
3、核对完成后,想要再次核对时,需要重新打开 Excel表格,包括使用两种核对方法时。


下载附件 核对.rar (415.79 KB, 下载次数: 256)


image.png

image.png

image.png



不知道用公式能否实现,但公式肯定实现不了如此的细节效果,还是软件方便一些,依次打开、核对、保存三个按钮就解决问题了


Excel双列对比工具,主要用于核对同一个表格中的AB两列数据,适用于核对财务的现金日记账,反正公司财务就是这么用的
使用了好几年了,但没有论坛账号也无法发上来供大家使用,今天整理了一下,希望对需要的朋友有所帮助
一、需要注意的事项如下
1、只支持xlsx格式的excel表格,xls格式的reogrid控件不支持
2、表格中只保留AB两列,如果有其他列,会影响核对结果的显示
3、工作表的名称只能为sheet1,这是本人赖,也是为了避免大家选择表
4、使用C#开发,运行时需要.net 4.0环境

二、核对的原理和功能
1、A、B两列放在双循环中进行核对,AB两列中有多个重复的数据不会影响核对准确性,先从A列中取一个数据,然后从B列第一个数据开始核对,至到未尾,如果核对上了就进行标记并记录,核对下一条记录时会自动跳过
2、A、B两列中核对过的数据会加上绿色背景
3、C列中会显示核对的过程,记录A列第几行和B列第几行是相同的。
4、后边两列会显示AB两列中没有核对上的数据,以便于人工手动核对
5、如果想再次核对,只需要保留AB列,并设置AB列的背景色为“无填充”
6、自带了一个样例表供测试

三、截图

image.png

image.png

image.png

Excel双列对比.rar (441.24 KB, 下载次数: 914)
image.png
image.png
image.png

免费评分

参与人数 43吾爱币 +45 热心值 +37 收起 理由
caoxuexin + 1 + 1 谢谢@Thanks!
LiiJuu + 1 谢谢@Thanks!
tujssia + 1 + 1 8月8日的软件,一直提示没有找到借方列,麻烦能否更新下
Lcstar + 1 + 1 热心回复!
outerstone + 1 我很赞同!
xingyuan5219 + 1 + 1 我很赞同!
D0AYA + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ilovelbh + 1 传了一个公式法的 供参考
vlinfeng + 1 + 1 谢谢@Thanks!
高高的洁白的花 + 1 + 1 用心讨论,共获提升!
笑里藏刀 + 1 热心回复!
ytw6176 + 2 + 1 谢谢@Thanks!
lij365 + 1 + 1 谢谢@Thanks!
reveanime + 1 + 1 谢谢@Thanks!
grrr_zhao + 1 + 1 谢谢@Thanks!
mbslyh + 1 谢谢@Thanks!
tinglan2012 + 1 谢谢@Thanks!
ds106130 + 1 + 1 谢谢@Thanks!
deoger + 1 + 1 谢谢@Thanks!
UDB555 + 1 + 1 热心回复!
盗版用户 + 1 我很赞同!
Shenzhishou + 1 + 1 谢谢@Thanks!
keyInBox + 1 + 1 谢谢,先插眼,后面再深入理解使用
wuhuaipojie + 1 + 1 谢谢@Thanks!
xshmbjinpai + 1 + 1 谢谢@Thanks!
yeah1 + 1 + 1 我很赞同!
xiaoli33 + 1 + 1 谢谢@Thanks!
ulife + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
SSMNXXX + 1 + 1 谢谢@Thanks!
xzkr + 1 + 1 谢谢@Thanks!
andreeeee + 1 + 1 谢谢@Thanks!
wang1989 + 1 + 1 谢谢@Thanks!
wei32573258 + 1 + 1 谢谢@Thanks!
aniu + 1 + 1 谢谢@Thanks!
不会上树的鱼 + 1 + 1 谢谢@Thanks!
hcm3292 + 1 + 1 谢谢@Thanks!
XWZ1002 + 1 我很赞同!
ptjmzcr + 1 谢谢@Thanks!
haorehaore + 1 + 1 我很赞同!
抱薪风雪雾 + 1 + 1 谢谢@Thanks!
一丝风 + 1 + 1 我很赞同!
yanglinman + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| wjbych 发表于 2023-7-25 08:26

主要是给我们财务上核对现金日记账用的,人工对起来费时间,用这后只需要对没对上的那部分就行了
 楼主| wjbych 发表于 2023-7-30 08:50
山海书 发表于 2023-7-28 23:01
巨佬,能不能给个VB代码学习一下

我就是个小白,两列对比就和人工对比没区别,只是电脑速度快,点了核对后如下,代码随心所欲写的,不要在意变量的名称
[Visual Basic .NET] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Private Sub btn_hd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_hd.Click
        Dim excel = Reo_excel.CurrentWorksheet
        Dim max_row As Integer
        Dim max_col As Integer = 3
 
        max_row = excel.RowCount - 1
        excel(0, 2) = "核对"
        excel.SetRowsHeight(0, 1, 30)  '设置行高
        'excel.Cells(0, 2).Style.BackColor = Color.Green
 
        For i = 1 To max_row
            excel(i, 2) = "0"
        Next
 
        '开始核对,第一列和第二列开始对比
        Dim I1, J1, H1 As String
        For i = 1 To max_row
            I1 = ""
            If excel(i, 0) Is Nothing Then
                excel(i, 0) = 0
            End If
            I1 = excel(i, 0).ToString
 
            For j = 1 To max_row
                J1 = ""
                H1 = ""
                If excel(j, 1) Is Nothing Then
                    excel(j, 1) = 0
                End If
                J1 = excel(j, 1).ToString
                H1 = excel(j, 2).ToString
                If I1 = J1 Then
                    If H1 = "0" Then
                        excel.Cells(i, 0).Style.BackColor = Color.Green
                        excel.Cells(j, 1).Style.BackColor = Color.Green
                        excel(j, 2) = i + 1 & "-->" & j + 1
                        Exit For
                    End If
                End If
            Next
        Next
 
        '整理核对后的数据
        Dim num As Integer = 1
        Dim c1, c2 As Color
        For i = 1 To max_row
            c1 = excel.Cells(i, 0).Style.BackColor
            If c1.Name <> "ff008000" Then
                excel(num, 5) = excel(i, 0).ToString
                num += 1
            End If
        Next
 
        num = 1
        For i = 2 To max_row
            c2 = excel.Cells(i, 1).Style.BackColor
            If c2.Name <> "ff008000" Then
                excel(num, 6) = excel(i, 1).ToString
                num += 1
            End If
        Next
        MessageBox.Show("双列数据已经核对完成!", "核对提醒", MessageBoxButtons.OK, MessageBoxIcon.Information)
    End Sub

lsm009 发表于 2023-7-24 23:25
suhaoyue 发表于 2023-7-25 05:34
数据相同的优先匹配第一个
wangdachui1988 发表于 2023-7-25 07:14
&#128077;,最近在学作图,经常需要整理对比两列数据
tcxd1993 发表于 2023-7-25 07:20
实用工具  感谢分享
liyi19731231 发表于 2023-7-25 07:43
实用工具  感谢分享
hummel 发表于 2023-7-25 08:08
小巧实用啊!
 楼主| wjbych 发表于 2023-7-25 08:25
suhaoyue 发表于 2023-7-25 05:34
数据相同的优先匹配第一个

是了,匹配过的再次遇到时就跳过了,以前是用spire实现的,但那个咱没有买授权,重写了一下。
liubiguan 发表于 2023-7-25 08:28
这个很方便哦,不用一个一个对了,眼睛也不用受罪了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-4-6 20:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表