Vba 第15位
变量包含15位,如何从另一个函数中获取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
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位数字或字符