|
发表于 2017-4-14 14:04
|
显示全部楼层
本楼为最佳答案
注意,结果是错的,错误原因有两个:
1、相同keyword不同意思的项目会归成一类;
2、一个字符串内出现两个keyword,所以后续处理结果会覆盖前次处理结果。
代码本身完全按照keyword规则设定,没有问题。
- Sub aaa()
- Dim arr, brr, i&, j&, k&, s$, r
- arr = Range("a1:b" & [a65536].End(3).Row)
- ReDim brr(1 To UBound(arr) - 1, 1 To 2)
- For i = 2 To UBound(arr) - 1
- If arr(i, 2) <> "" Then
- r = r + 1
- brr(r, 1) = arr(i, 2)
- brr(r, 2) = 1
- For k = i + 1 To UBound(arr)
- s = arr(k, 2)
- For j = 1 To Len(s) - 1
- If InStr(brr(r, 1), Mid(s, j, 2)) Then
- If Len(s) > Len(brr(r, 1)) Then brr(r, 1) = s
- brr(r, 2) = brr(r, 2) + 1
- arr(k, 2) = ""
- Exit For
- End If
- Next j
- Next k
- End If
- Next i
- [g2].Resize(r, 2) = brr
- End Sub
复制代码 |
评分
-
查看全部评分
|