Vba 第15位

Vba 第15位,vba,excel,vb6,Vba,Excel,Vb6,变量包含15位,如何从另一个函数中获取15位值 Function isvalid(stringvalue As String) As Boolean Dim methodToCall As String methodToCall = "somefunction" isvalid = stringvalue Like "[0-9][0-9][A-Z][A-Z][A-Z][A-Z][A-Z]####[A-Z][A-Z][A-Z][methodToCall(stringvalue)]" 这里meth

变量包含15位,如何从另一个函数中获取15位值

Function isvalid(stringvalue As String) As Boolean
Dim methodToCall As String
methodToCall = "somefunction"
isvalid = stringvalue Like "[0-9][0-9][A-Z][A-Z][A-Z][A-Z][A-Z]####[A-Z][A-Z][A-Z][methodToCall(stringvalue)]"
这里methodToCall将调用另一个函数,该函数是my15th数字的返回值
如何从的Anotor函数中获取值是有效的函数

假设我们有一个包含数字和其他字符的字符串,我们想要第15个数字。UDF:

Public Function GetFifteenth(sin As String) As Variant
    kount = 0
    For i = 1 To Len(sin)
        ch = Mid(sin, i, 1)
        If IsNumeric(ch) Then
            kount = kount + 1
            If kount = 15 Then
                GetFifteenth = CLng(ch)
                Exit Function
            End If
        End If
    Next i
    GetFifteenth = ""
End Function
我应该这样做。例如:

Sub MAIN()
    Dim s As String, L As Variant
    s = "t2}nf[aW(494U,Oay8OWkh{xa*9>9b2SY5yPt14;m98AYd$|>U%orIJ[iF*Q)0w21!0:eX9,kU<_ x=B+cAFU<)%@{JMSze}"
    L = GetFifteenth(s)
    MsgBox L
End Sub
Sub-MAIN()
尺寸s为字符串,L为变量

s=“t2}nf[aW(494U,Oay8OWkh{xa*9>9b2SY5yPt14;m98AYd$|>U%orIJ[iF*Q)0w21!0:eX9,请编辑您的问题以显示示例输入和输出。似乎您的模式只有14个字符,但?01AAACA0123A1Z(我函数的最后一位是字母数字)至少在vb6中(不知道vba):
mid$(stringvariable,15,1)
将返回该字符串变量的第15个字符。同样-该变量只有14个字符。请注意,“数字”和“字符”不是同一个词:“数字”“通常只表示0-9是的,我同意,但上面的示例对你来说很清楚。我无法正确表达,所以我想使用公式从excel工作表中获取值。这里我不能使用公式。你的意思是什么?为你编写了一个公共函数。如果你将其放入excel文件,你可以从普通单元格中调用它,因为它是UDF(用户定义函数)。当然可以使用公式!isvalid=stringvalue,比如“[0-9][0-9][A-Z][A-Z][A-Z][A-Z][A-Z][A-Z][A-Z][A-Z][methodToCall(stringvalue)]”。我这里的意思是“isvalid”是从我的单元格中获取值,并将14个字符或数字发送到我上面提到的函数“somefunction”。该函数将为“isvalid”函数提供第15位数字或字符