新足迹

 找回密码
 注册

精华好帖回顾

· 【深夜碎碎念】1.5代/2代移民的自我认知 (2015-12-24) 奇思 · The Way I was--我的照片,我走过的路(三) (2005-5-13) moth
· 【狸出品】 ---- “京味切糕”~才貌双全的「糕富帅」 来了~~~ (顺路奉送「艾窝窝」) (2012-12-16) 黑芝麻狐儿 · 真正的恋爱是要结婚以后才能开始的 -- 《昼颜》 (2014-10-12) 胡须康
Advertisement
Advertisement
查看: 1011|回复: 3

[其他] Excel VBA的一个问题 [复制链接]

发表于 2015-2-27 16:15 |显示全部楼层
此文章由 ressul 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 ressul 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 ressul 于 2015-2-27 16:29 编辑

需要得到公司transaction reference里的一段特定格式的string (DD+MMM+若干数字)e.g.12FEB555,3MAR9865 etc

这段string之前用空格分开(在reference首除外),如下:

e.g. $$$$$$ 1FEB12345 $$$$$ 需要结果 1FEB12345
e.g. 6FEB56537 &&&&& 需要结果 6FEB56537

VBA怎么写?我记得可以用RegEx写,不过不知道具体该怎么写。

求方法/思路
Advertisement
Advertisement

发表于 2015-2-27 16:30 来自手机 |显示全部楼层
此文章由 jy00064164 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jy00064164 所有!转贴必须注明作者、出处和本声明,并保持内容完整
用Split()得到每一段,再写一个function loop through寻找pattern

评分

参与人数 1积分 +4 收起 理由
ressul + 4 感谢分享

查看全部评分

发表于 2015-2-27 17:40 |显示全部楼层
此文章由 muyir 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 muyir 所有!转贴必须注明作者、出处和本声明,并保持内容完整
just filter all special characters, like $, &

发表于 2015-2-28 21:32 |显示全部楼层
此文章由 sinkingmoon 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 sinkingmoon 所有!转贴必须注明作者、出处和本声明,并保持内容完整
下面这个函数会去掉所有的特殊符号。所以是个Generic Solution无需hard code


Public Function alpha_numeric(strInput As String) As String

    Dim re As Object
    Dim strPattern As String
    strPattern = "[^a-zA-Z0-9 -]"
   
    Set re = CreateObject("VBScript.RegExp")
    With re
            .Global = True
            .MultiLine = True
            .IgnoreCase = False
            .Pattern = strPattern
    End With

    If re.Test(strInput) Then
        alpha_numeric = re.Replace(strInput, Empty)
    Else
        alpha_numeric = strInput
    End If

End Function

评分

参与人数 1积分 +4 收起 理由
ressul + 4 感谢分享

查看全部评分

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部