VBA删除点并计算数字直到空格

时间:2017-10-05 15:58:22

标签: excel vba excel-vba loops

我的工作表包含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))

但我不知道如何将其与其他部分结合起来。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

使用点,不要删除它们:

Sub CountDigits()
    v = Range("A1").Value
    ary = Split(v, " ")
    bry = Split(ary(0), ".")
    MsgBox v & vbCrLf & UBound(bry) + 1
End Sub

enter image description here

答案 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