|
本帖最后由 today0427 于 2017-2-11 08:16 编辑
- Sub td() '直接写入结果数组,较为简便
- Dim i%, ar, br(65 To 65 + 26 * 2)
- ar = Range("a1:a" & [a65536].End(3).Row)
- For i = 1 To UBound(ar)
- If ar(i, 1) <> "" Then br(Asc(ar(i, 1)) * 2 - 65) = ar(i, 1)
- Next
- [g2].Resize(52) = Application.Transpose(br)
- End Sub
- Sub today() '正则,复杂又变态,仅为提供不同思路
- Dim s$, i%, ar, str$, br()
- ar = Range("a1:a" & [a65536].End(3).Row)
- For i = 1 To UBound(ar)
- If ar(i, 1) <> "" Then s = s & ar(i, 1)
- Next
- For i = 1 To 26
- str = str & Chr(i + 64)
- Next
- With CreateObject("vbscript.regexp")
- .Pattern = "[^" & s & "]"
- .Global = True
- .ignorecase = False
- st = .Replace(str, "")
- End With
- ReDim br(1 To Len(st) * 2)
- For i = 1 To Len(st)
- br(i * 2 - 1) = Mid(st, i, 1)
- Next
- [e2].Resize(Len(st) * 2) = Application.Transpose(br)
- End Sub
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|