分享

Excel之VBA常用功能应用篇:提取字符串中的数字

 每天学学Excel 2022-02-15

字符串操作中,无非就是文字、符号和数字。

如何在一个字符串中找出数字呢?本节就介绍一下制作方法。

如下图所示,提取了一些字符串中的数字。

其实际上就是对字符串中的每个字符进行对比操作,然后把数字单独找出来。

原理就是这么简单。

关键是如何实现对数字的判断。

我们做了一些代码来进行判断:

Private Sub CommandButton1_Click()

Dim r As Range

Set r = Range("C3:C10")

Dim i As Integer, ix As Integer

ix = r.Count

Dim x As Integer, xx As Integer

Dim xNumb As String

For i = 1 To ix

xNumb = ""

xx = VBA.Len(r.Item(i))

For x = 1 To xx

If VBA.Asc(VBA.Mid(r.Item(i), x, 1)) >= 48 And VBA.Asc(VBA.Mid(r.Item(i), x, 1)) <= 57 Then

xNumb = xNumb & VBA.Mid(r.Item(i), x, 1)

End If

Next x

r.Item(i).Offset(0, 3).Value = xNumb

Next i

End Sub

如上代码有一行判断的条件语句:

If VBA.Asc(VBA.Mid(r.Item(i), x, 1)) >= 48 And VBA.Asc(VBA.Mid(r.Item(i), x, 1)) <= 57 Then

xNumb = xNumb & VBA.Mid(r.Item(i), x, 1

End If

我们对每个字符进行ASC码判断,48代表0,57代表9,也就是数字0-9的ASC码。

本示例相对简单,并不能十分完善地达到提取要求,如要把每个数字进行一个分割处理。

有兴趣的朋友,可以利用本代码进行加工操作。

每天编一些代码,可以训练逻辑思维,如果不想让自己的脑袋生锈,这也是一件不错的工作。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多