提取EXCEL中一列字符串中的数字部分

来源:百度文库 编辑:神马文学网 时间:2024/05/04 02:18:57
其实是很简单的……高手就不用看了……主要是实用,菜鸟随手就能用上 今天在做一个给客户优惠的录入项目,一年一度要受的苦同事给的是一列如“美元优惠结售汇中间价80个点”的数据,而我就要其中的“80”,近千个,一个个输与核对要60分钟。手工输入自非我EXCELHOME会员本色,但是貌似EXCEL无现成函数,如果要动用数组函数环环嵌套也十分麻烦,不过我眉头一皱,计上心来何不用无限强大的VBA呢,指导思想就是遍历每个非空单元格,逐个检查单元格内容的每个字符,如果是数字则抓出来。以下是代码你可以将它复制到VB编辑器里对应SHEET的代码栏位,然后启用宏,并将安全等级调至 中,使用时直接双击你要转换的那列第一格即可…… Public k
Sub getnumber()
Dim i As Integer
Dim p As Integer
Dim j As Integer
Dim ggg As String
For i = 2 To [A65536].End(xlUp).Row
   p = Len(Cells(i, k))
   ggg = ""
   For j = 1 To p
  
   If IsNumeric(Mid(CStr(Cells(i, k)), j, 1)) = True Then                     '所以说关键时ISNUMERIC个函数省去不少麻烦,如果自己写估计要逐个判断ASCII码表咯。
   ggg = ggg & Mid(CStr(Cells(i, k)), j, 1)
  
   End If
  
   Next
   Cells(i, k) = ggg
Next
End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)    '主要实现双击那列第一格才呼叫 GETNUMBER的过程
If Target.Row = 1 Then
k = Target.Column
Call getnumber
End If
End Sub