ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求助:如何指定某列跟其它多列比较,如存在则写入相应数值,否则高亮以提示为未处...

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-8 01:08 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这是一朋友每月要统计的工作,最初是全手工逐一核对填入相应数值,这样反复的操作花时间不说最重要的问题是容易出错。后来我自己在网上参考了一些现成的代码,用公式“=LOOKUP(1,0/(E3=$Q$3:$Q$210),$R$3:$R$210)”可以批量填入数值,之后再定位全选公式出错的单元格将其删除。但又遇到了另一问题,就是在某一人员多次缴费时这公式好像只会填入最后一项的值而不是累加值。再次参考了网上比较单列重复项并标注颜色的VBA代码经少许修改后可以快速找出多次缴费的人员,再手工求和并只留一行。这样效率是高了一点,但还是需要太多的手工介入并不太理想。

很想学一点基本的VBA知识,也本想自己慢慢去做出一套较完善的方案,可是时间太赶了在短期内想自己做出来是完全不可能了,所以想请高手们先为代劳看看有否能实现这操作的代码解决燃眉之急,有空时个人再看看能不能理解代码的原理,谢谢!

将R列数值写入到C、F、I、L、O列对应位置


1

1


2

2


3

3


表格样板.rar (13.6 KB, 下载次数: 14)



TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-8 01:11 | 显示全部楼层
提问补充:因存在同名同姓的姓名,要以身份证号作为比较依据

TA的精华主题

TA的得分主题

发表于 2018-7-8 10:09 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-8 14:35 | 显示全部楼层

首先谢过蓝桥玄霜版主给出的代码!刚才按图中的内容键入测试确实解决了最重点的问题。可是没有高亮R列未处理的内容,高亮的目的是提示用户在主统计表中缺少这些人员,要把相应人员信息添加后再重新操作,如高亮提示能很容易看出那些是缺少的人员。

TA的精华主题

TA的得分主题

发表于 2018-7-9 08:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub lqxs()
  2. Dim d, Arr, i&, j&
  3. Set d = CreateObject("Scripting.Dictionary")
  4. Sheet1.Activate
  5. Arr = [a1].CurrentRegion
  6. [q3:q19].Interior.ColorIndex = xlNone
  7. For i = 3 To UBound(Arr)
  8.     d(Arr(i, 17)) = d(Arr(i, 17)) + Arr(i, 18)
  9. Next
  10. For j = 2 To UBound(Arr, 2) - 4 Step 3
  11.     For i = 3 To UBound(Arr)
  12.         If Arr(i, j) = "" Then Exit For
  13.         If d.exists(Arr(i, j)) Then
  14.             Cells(i, j + 1) = d(Arr(i, j))
  15.         Else
  16.             Cells(i, 17).Interior.ColorIndex = 6
  17.         End If
  18.     Next
  19. Next
  20. MsgBox "OK"
  21. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-10 22:53 | 显示全部楼层

高亮的代码是有点异常,未能正确的提示不存在的人员。老师第一次给出的代码已足够了,我自己另加了一高亮未找到人员的宏,现在分两步去完成。虽然还是不能一步完成,但现在已基本解决了想解决的问题,再次谢谢。知道不能小小的事情都要在这里左问右问的,剩下的我慢慢去完善。

现在又有一个新问题,就是这贴的问题得到解决了要不要把帖的类别设为已解决?

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

本版积分规则

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

GMT+8, 2025-1-8 02:36 , Processed in 0.024278 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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