他有一个Excel表格,汇总记录了多个员工9月1日-24日的拜访地区记录。因为各个员工的拜访时间、拜访地点可能不完全一样,所以各个员工的拜访记录自然也不一样。
但是这样的表格看起来不直观,他需要修改为下面这样的表:
这张图就对各个员工的拜访情况一目了然了。
因为每个月、甚至每个星期都要做一次这样的修改,手工一个个修改自然很繁琐,自然就会想到能否一键完成。
思路
可以看到,在表二里面,员工号、日期都已经确定了,需要查找的就是对应员工号、日期的那个拜访地区。
也就是这样一个逻辑判断:如果表二的员工号、日期同时能够对应上表一里的员工号、日期,则把表一的地区填入表二,如下图:
再将表格二里每个空格都做一次上面的逻辑判断,即可实现要求。
核心代码
For i = 6 To 22 '遍历表二每一列
For j = 6 To 11 '遍历表二每一行
For k = 4 To 63 '遍历表一数据每一行
If Cells(k, 1) = Cells(5, j) And Cells(k, 3) = Cells(i, 5) Then '做逻辑判断
Cells(i, j) = Cells(k, 2)
End If
Next
Next
Next
效果就是这样:
当然,这个代码比较简单,各位需要的伙伴可以自行根据实际情况来更改你的数据行、列。
需要源文件的后台回复「员工」即可,其他VBA实例,可以在公号里「精华整理」-「VBA实例」进行查看。
微信公众号:永恒君的百宝箱
个人博客:www.yhjbox.com