- Sub GetTag()
- Dim Oj As Object, Str$, tag%
- Dim Arr, Ary, k%, i%, m%
- [G3:G65536].ClearContents
- Arr = Range("F3", [F65536].End(3)(1, 2))
- Str = Join(Application.Transpose(Application.Index(Arr, , 1)))
- Set Oj = CreateObject("ScriptControl"): Oj.Language = "JScript"
- Oj.eval "function getstr(str){return str.replace(/的/g,'').match(/[一-龥]+/g,'')}"
- For k = 1 To UBound(Arr)
- If Len(Arr(k, 2)) Then GoTo 1
- Ary = Split(Oj.codeobject.getstr(Arr(k, 1)), ",")
- For i = 0 To UBound(Ary)
- If InStr(Replace(Str, Arr(k, 1), ""), Ary(i)) Then tag = tag + 1
- For m = k To UBound(Arr)
- If InStr(Arr(m, 1), Ary(i)) And m <> k Then Arr(m, 2) = tag: Arr(k, 2) = tag
- Next
- Next
- 1
- Next
- [G3].Resize(k - 1) = Application.Index(Arr, , 2)
- End Sub
复制代码 |