Function SecondNumber(strNumber) 'As String 'Returns the second number in a string. For example 'CA0567-2 returns 2 'If there is no second number, an empty string is returned. Dim strBuffer Dim intCounter Const FIRST_TEXT = 1 Const FIRST_NUMBER = 2 Const SECOND_TEXT = 3 Const SECOND_NUMBER = 4 Const THIRD_TEXT = 5 Dim intState strBuffer = "" intState = FIRST_TEXT For intCounter = 1 To Len(strNumber) Select Case intState Case FIRST_TEXT If IsNumeric(Mid(strNumber, intCounter, 1)) Then intState = FIRST_NUMBER End If Case FIRST_NUMBER If Not(IsNumeric(Mid(strNumber, intCounter, 1))) Then intState = SECOND_TEXT End If Case SECOND_TEXT If IsNumeric(Mid(strNumber, intCounter, 1)) Then intState = SECOND_NUMBER strBuffer = strBuffer & Mid(strNumber, intCounter, 1) End If Case SECOND_NUMBER If IsNumeric(Mid(strNumber, intCounter, 1)) Then strBuffer = strBuffer & Mid(strNumber, intCounter, 1) Else intState = THIRD_TEXT End If Case THIRD_TEXT 'Do nothing End Select Next SecondNumber = strBuffer End Function