就是要把下面第一张图中的数据处理成第二张图中的格式。
我们用的是vlookup,相对引用,以及循环引用的方法实现的。
今天我们用VBA来处理下。
代码如下:
Sub 提取合并()
Dim hs%, i%, n%, ts%, arr, a%
hs = Range('a2', [b2].End(xlDown)).Rows.Count
'求A列渠道客户的行数
For i = 1 To hs
'循环,从第一个值循环到最后一个值
If Cells(i, 1).Value <> Cells(i 1, 1) Then
'若上下两个值不想等,那就把下面的值提取出来
n = n 1
Cells(n 1, 4).Value = Cells(i 1, 1)
'提取出来并放置到某个单元格中
ts = Application.CountIf([a:a], Cells(i 1, 1).Value)
'查找提取出来的值在A列中的条数
arr = Cells(i 1, 1)(1, 2).Resize(ts, 1)
'提取出来的值对应的客户区域赋给一个数组
Cells(n 1, 5).Value = Join(Application.Transpose(arr), '、')
'把此数组转置并连接起来,中间用顿号分开
End If
Next
[a1:b1].Copy [d1:e1]
'表头复制过去
End Sub
今天的分享就到这里!
视频教程正在陆续录制中,进入公众号后台菜单中可了解详情!
联系客服