字符串操作中,无非就是文字、符号和数字。 如何在一个字符串中找出数字呢?本节就介绍一下制作方法。 如下图所示,提取了一些字符串中的数字。 其实际上就是对字符串中的每个字符进行对比操作,然后把数字单独找出来。 原理就是这么简单。 关键是如何实现对数字的判断。 我们做了一些代码来进行判断: 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码。 本示例相对简单,并不能十分完善地达到提取要求,如要把每个数字进行一个分割处理。 有兴趣的朋友,可以利用本代码进行加工操作。 每天编一些代码,可以训练逻辑思维,如果不想让自己的脑袋生锈,这也是一件不错的工作。
|