Excel VBA仅将数字添加到Variant / string

时间:2015-07-29 09:11:45

标签: excel vba excel-vba

可以看到与我类似的问题,但不够接近,所以,这里是:

我需要将单元格的内容添加到字符串或变体中,但要删除任何字母或字符,但不能干扰单元格的内容。

单元格可能包含的典型示例是WD / 99999999,但我只需要99999999.但是,数字的长度可能会有所不同,可能会出现的字母和字符可能会有所不同,但始终是字母或字符。

一旦达到这个目标,我需要检查数字是否为4位数或更少,如果是,请在前面添加“*”。

在此先感谢,我们非常感谢在此项目中获得的所有帮助!

杰米

2 个答案:

答案 0 :(得分:0)

让我们说你的原始字符串存储在变量" s"。

Dim i As Integer
Dim result As String

result = ""
For i = 1 To Len(s)
    If Mid(s, i, 1) >= "0" And Mid(s, i, 1) <= "9" Then
        result = result + Mid(s, i, 1)
    End If
Next

现在只有数字存储在字符串变量&#34; result&#34;中。 然后,您可以检查结果的Len是否为4或更低。

答案 1 :(得分:0)

Dim someText As String

someText = "WD/99999999"
someText = GetNumber(someText)

If Len(someText) <= 4 Then
    someText = "*" & someText
End If

功能

Function GetNumber(strText)
    Dim strBuild As String

    For i = 1 To Len(strText)
        If IsNumeric(Mid(strText, i, 1)) Then
            strBuild = strBuild & Mid(strText, i, 1)
        End If
    Next

    GetNumber = strBuild
End Function