我的工作表包含1.1.2.3 USA,1.3.4 Canada等数据。我想循环遍历行并获取数字。在这种情况下,美国的数字将是4,加拿大是3.我的想法是删除点并计数直到空格。到目前为止,我找到了如何删除点
strName = Trim("A:A")
lSpace = InStr(1, strName, " ", vbTextCompare)
digits = Trim(Left(strName, lSpace))
但我不知道如何将其与其他部分结合起来。任何帮助将不胜感激
答案 0 :(得分:1)
使用点,不要删除它们:
Sub CountDigits()
v = Range("A1").Value
ary = Split(v, " ")
bry = Split(ary(0), ".")
MsgBox v & vbCrLf & UBound(bry) + 1
End Sub
答案 1 :(得分:0)
如果你想要一个功能
Function get_digit(your_input As String) As Integer
digit_count = 0
For i1 = 1 To Len(your_input)
If IsNumeric(Mid(your_input, i1, 1)) Then
digit_count = digit_count + 1
ElseIf Mid(your_input, i1, 1) = " " then
Exit For
End If
Next i1
get_digit = digit_count
End Function