ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2812|回复: 11

[求助] 求老师们给修改下删除行的代码,谢谢!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-16 09:22 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
此代码是一老师写的,我复制用,点击按钮就是不执行,求老师们给修改下。在F列只要有相同单据号和与之对应的借方、贷方金额相等就删除此行。类似银行对账 银行对账是相同打勾,我是相同删除(删除整行)。此表是每月都要复制粘贴数据,和以前月份进行比对,然后删除相同的行。详见附件。谢谢老师们的帮助!

查找F列(单据号)相同号,与之对应金额相同,删除相同行 .zip

37.27 KB, 下载次数: 5

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-16 14:49 | 显示全部楼层
迫切老师们帮助,有老师在吗?感激不尽!

TA的精华主题

TA的得分主题

发表于 2018-7-17 19:10 | 显示全部楼层
请测试。
  1. Sub test()
  2.     Dim dic As Object, d As Object
  3.     Dim m%, Arr, i%, j%
  4.     Dim Str As String
  5.     Application.ScreenUpdating = False
  6.     Set dic = CreateObject("scripting.dictionary")
  7.     Set d = CreateObject("scripting.dictionary")
  8.     m = [A65536].End(xlUp).Row
  9.     Arr = Range("F1:J" & m)
  10.     '将单据号和贷方合成字符串,装入字典
  11.     For i = 2 To UBound(Arr, 1)
  12.         If Arr(i, 2) = "" Then
  13.             Str = Arr(i, 1) & Arr(i, 3)
  14.             dic(Str) = ""
  15.         End If
  16.     Next
  17.     '正向查找
  18.     For i = 2 To UBound(Arr, 1)
  19.         If Arr(i, 2) <> "" Then
  20.             Str = Arr(i, 1) & Arr(i, 2)
  21.             If dic.exists(Str) Then
  22.                 Cells(i, "I") = 22
  23.             End If
  24.         End If
  25.     Next
  26.     '将单据号和借方合成字符串,装入字典
  27.     For i = 2 To UBound(Arr, 1)
  28.         If Arr(i, 2) <> "" Then
  29.             Str = Arr(i, 1) & Arr(i, 2)
  30.             d(Str) = ""
  31.         End If
  32.     Next
  33.     '反向查找
  34.     For i = 2 To UBound(Arr, 1)
  35.         If Arr(i, 2) = "" Then
  36.             Str = Arr(i, 1) & Arr(i, 3)
  37.             If d.exists(Str) Then
  38.                 Cells(i, "I") = 22
  39.             End If
  40.         End If
  41.     Next
  42.     '删除相同单据号的借方和贷方 行
  43.     For i = 2 To UBound(Arr, 1)
  44.         If Cells(i, "I") = 22 Then
  45.             Rows(i).Delete Shift:=xlUp
  46.             i = 2
  47.         End If
  48.     Next
  49.     Application.ScreenUpdating = True
  50. End Sub
复制代码


查找F_.7z

10.95 KB, 下载次数: 10

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-17 19:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢tudarong老师,这就是我要的。感谢!

TA的精华主题

TA的得分主题

发表于 2018-7-17 19:35 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-18 08:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
老师可以再改下吗?只针对 F G H列 代码  其他只作为辅助。

TA的精华主题

TA的得分主题

发表于 2018-7-18 09:07 | 显示全部楼层
查找(识别单据号列)_.7z (13.36 KB, 下载次数: 3)
请测试附件

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-18 09:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这回代码完美,谢谢老师!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-18 09:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
老师 可以再写一个代码吗?在F(借方) G (贷方)只要有金额相同就删行。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-18 09:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我把表格上传 见附件 谢谢!

借贷相同删行.zip

1.67 KB, 下载次数: 1

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-10 02:42 , Processed in 0.026918 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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