Office中国论坛/Access中国论坛

标题: InStr扩展函数,能显示第N次出现的位置 [打印本页]

作者: guqianfeng    时间: 2005-10-22 08:55
标题: InStr扩展函数,能显示第N次出现的位置
写软件过程中发现InStr函数无法找出第N次出现的位置,因此自己写了一个函数,与大家分享。

Private Function InStrN(Str1 As String, Str2 As String, N As Integer) As Integer

'此函数扩展了InStr函数,可以返回STR2在STR1中第N次出现的位置;

'如果STR2在STR1中没有,返回0;

'如果N超过STR2在STR1中出现的次数,返回-1;

'

    Dim a, k As Integer

    a = 0

    k = 0

    Do While (InStr(a + 1, Str1, Str2) <> 0 And k <> N)

        a = InStr(a + 1, Str1, Str2)

        k = k + 1

    Loop

    If k < N And k <> 0 Then

        InStrN = -1

    Else

        InStrN = a

    End If

End Function

示例文件见附件
作者: lxing20    时间: 2009-4-11 20:15
不见附件?
作者: lymin    时间: 2009-4-14 09:37
学习一下




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3