作者:乔山办公网日期:
返回目录:excel表格制作
试试宏吧
Sub 分列()
Dim arr, brr, i, k, j, t
arr = Range("a1:a" & [a65536].End(xlUp).Row)
j = 1
For i = 1 To UBound(arr)
brr = Split(arr(i, 1), " ")
For k = 1 To Len(arr(i, 1))
If Mid(brr(0), k, 1) = "(" Or Mid(brr(0), k, 1) = "(" Then
t = k
Do
k = k + 1
Loop Until Mid(brr(0), k, 1) = ")" Or Mid(brr(0), k, 1) = ")"
If j = 1 Then
[d1] = Mid(brr(0), t + 1, k - t - 1)
Else
[c65536].End(xlUp).Offset(0, 1) = Mid(brr(0), t + 1, k - t - 1)
End If
Else
If j = 1 Then
[c1] = Mid(brr(0), k, 1)
[e1] = brr(1)
Else
[c65536].End(xlUp).Offset(1, 0) = Mid(brr(0), k, 1)
[c65536].End(xlUp).Offset(0, 2) = brr(1)
End If
j = j + 1
End If
Next
Next
End Sub
在excel中按alt+F11》弹出的窗口中 菜单栏中点插入》模块》把代码复制到下方空白处》右上角关闭》回到excel中》运行宏 分列。
有不明白的地方继续追问~e799bee5baa6e997aee7ad94e78988e69d83332
你这难度可就大了。不过可以告诉你一个方法:
1、将Excel里的这个数据拷贝到Word里
2、在百Word运行替换命令,在度查找的后面输入:专[!0-9.]{1,},替换为后面输入:+(或者其他特殊符号)
3、将Word中替换结束的数据拷贝回Excel中。
4、在Excel中以Word中替换的特殊字符为分隔符拆分单元格。
5、这样提取出来数字。
6、再将原来的数据用拆分出来的数字替换为空,留下文属字。
7、删除辅助列。