BI 数据建模

Excel vba 实例(20) - 一键填充每月员工拜访地区

2019-10-16  本文已影响0人  永恒君的百宝箱

前不久帮一位朋友的解决了一个这样的问题,如下图:

他有一个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实例」进行查看。

如果你觉得文章还不错,请大家点个好看、分享一下。你的肯定是我最大的鼓励和支持。


Excel vba 实例(19) -  一键汇总不完全相同的sheet到总表

Excel vba 实例(18) - 一键将单列长数据平均拆成多列

收藏 | 17个Excel vba实例汇总

Excel vba 实例(17) - 遍历多个工作簿并提取内容到总表

Excel vba 实例(16) - 按指定字段分类批量提取内容


上一篇下一篇

猜你喜欢

热点阅读