新足迹

 找回密码
 注册

精华好帖回顾

· 熊猫厨房--半手工鱼丸 ,鲜虾鱼丸盏 (2015-1-10) 小白的熊猫 · 美女煮艺 * Grace (2008-9-3) 孔武
· 推荐澳洲纯天然牌子Sukin,超级天然,超级好用,深得我心啊!! (终于更新完了!) (2010-7-9) tians_soul · 今天我生日,收到一个丑丑的蛋糕...... (2009-6-3) 萱草无忧
Advertisement
Advertisement
查看: 1012|回复: 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
返回顶部