检测单元中一定数量的相应数字(VBA)

我需要帮助来提供一个function,检测单元格或单元格范围内的一定数量的相应数字。

我有一串数据以描述的forms,在文本之间隐藏了一个8位数字的序列。 我需要能够检测到一个单元格中的这个8位数字,并将其提取到另一个单元格。

我不能只提取一个string中的所有数字的原因是因为也有在同一个单元格中的其他号码,所以我需要能够具体检测一个8位数字。

提前致谢!

这会给你任何string中包含的第一个8位数字。

Sub Selvi() MsgBox GetConsequentialDigits(Cells(1, 1), 8) End Sub 

我把它变成了一个函数,这样你也可以直接在Excel中使用它:

 =GetConsequentialDigits(A1,8) 

这里是function:

 Public Function GetConsequentialDigits(ByVal InCellString As String, ByVal DigitsNumber As Integer) As String Dim Cpt As Integer, _ TpStr As String, _ TpRez As String Cpt = 0 TpRez = vbNullString For i = 1 To Len(InCellString) - 1 If Cpt < DigitsNumber Then TpStr = Mid(InCellString, i, 1) If IsNumeric(TpStr) Then Cpt = Cpt + 1 Else Cpt = 0 End If Else TpRez = Trim(Mid(InCellString, i - DigitsNumber, DigitsNumber)) Exit For End If Next i GetConsequentialDigits = TpRez End Function