|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
蒙出了一个结果,也不知道合不合规,请指教。
运行很慢,鄙人用的是office2019家庭和学生版,可以运行的。
代码如下,其中借用了您的“通用正则替换函数”:
- Option Explicit
- '###############?·?????????????#####################
- Private Sub Form_Initialize()
- Range("b2:b" & Cells(Rows.Count, 1).End(xlUp).Row).Value = ""
- End Sub
- Public Function REGREPLACE(ByVal text1$, ByVal pttn$, Optional ByVal strReplacer$ = " ")
- With CreateObject("vbscript.regexp")
- .Global = True
- .Pattern = pttn
- REGREPLACE = .Replace(text1, strReplacer)
- End With
- End Function
- Function Autocal(Cell)
- With CreateObject("Access.Application")
- Autocal = .Eval(Cell)
- End With
- End Function
- Private Function ReplaceRestrictive$(ByVal StrSource$)
- ReplaceRestrictive = Autocal(Chr(34) & REGREPLACE(StrSource, "(\d)(e+)(?=\d)", "$1"" & string(len(""$2""),""2"") & """) & Chr(34))
- End Function
- '###############???????????????#####################
- Private Sub CommandButton1_Click()
- Dim r&, ar(), br(), i&
- r = Cells(Rows.Count, 1).End(xlUp).Row
- If r < 2 Then Exit Sub
- Call Form_Initialize
- ar = Range("A1").Resize(r)
- ReDim br(2 To r, 1 To 1)
- For i = 2 To r
- br(i, 1) = ReplaceRestrictive(ar(i, 1))
- Next
- Range("b2").Resize(r - 1) = br
- End Sub
复制代码
附件如下:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
4
查看全部评分
-
|