在“Sheet1”的代码框里面输入以下程序代码:
Sub KongGe()
Dim i1, i2, i3, i4, str1
On Error Resume Next '忽略运行过程中可能出现的错误
Set mysheet1 = ThisWorkbook.Worksheets("Sheet1") '定义工作表Sheet1
For i1 = 2 To 1000 '从第2行到1000行
str1 = "" '寄存处中间变量置空
i2 = 0 'i2初始值置0
If mysheet1.Cells(i1, 1) <> "" Then '如果A列对应的单元格不是空白,则
For i3 = 1 To Len(mysheet1.Cells(i1, 1)) '对单元格里面的每一个数据循环
i4 = i2 + 1 '寄存上一次点号“.”的位置
i2 = InStr(i4, mysheet1.Cells(i1, 1), ".") '获取点号“.”的位置
If i2 <> 0 Then '如果存在点号“.”,则
If i4 = 1 Then '如果是第一次截取,则
str1 = Mid(mysheet1.Cells(i1, 1), 1, i2 + 2) '截取第一个数值
End If
If i4 > 1 Then '如果不是第一次截取,则
str1 = str1 & " " & Mid(mysheet1.Cells(i1, 1), i4 + 2, i2 + 2 - i4 - 1)
'把前面截取的字符加空格之后再与后面截取的字符拼接起来
End If
Else
Exit For '如果条件不满足则退出For循环
End If
Next
End If
mysheet1.Cells(i1, 2) = str1
Next
End Sub