从包含混合字母数字字符串的单元格中提取数字

Om *_*ash 5 microsoft-excel

我有一列看起来像这样:

      A
1 om2222prakash
2 kumar83566
3 222gsrana
4 k4566hhhh23
Run Code Online (Sandbox Code Playgroud)

如何仅找出 A1、A2、A3 和 A4 中的数字数据?我正在使用 Microsoft Excel 2007,并希望输出如下所示:

      A
1 2222
2 83566
3 222
4 456623
Run Code Online (Sandbox Code Playgroud)

小智 3

好吧,用ALT+打开 VBE(Visual Basic 编辑器) F11。在 VBA 项目资源管理器中右键单击并添加一个Module.

复制并粘贴以下代码,然后点击F5运行宏。

Option Explicit

Sub GetNumbers()

    Dim uColumn As String

    ' if your data is in a different column then change A to some other letter(s)
    uColumn = "A"

    Dim i As Long, j As Long, r As Range
    For i = 1 To Range(uColumn & Rows.Count).End(xlUp).Row
        Set r = Range(uColumn & i)
        Dim tmpStr As String
        tmpStr = vbNullString
        For j = 1 To Len(r)
            If IsNumeric(Right(Left(r, j), 1)) Then tmpStr = tmpStr & Right(Left(r, j), 1)
        Next j
        r.NumberFormat = "@"
        r = tmpStr
    Next i

End Sub
Run Code Online (Sandbox Code Playgroud)

有一个名为 的变量uColumn。它A当前已指定为列。如果您的数据位于不同的列中,则将 更改为A您的列字母

希望这可以帮助