|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
回复 8楼 djz2zyf 的帖子
请测试:
Sub Macro1()
Dim a, b, arr, brr(), m&, i&, j&, k&, l&, a1&, a2&
arr = Range("e2:E" & Range("e65536").End(xlUp).Row)
For i = 1 To UBound(arr)
a = Split(arr(i, 1), ",")
m = 0
For j = 0 To UBound(a)
If InStr(a(j), "-") Then
b = Split(a(j), "-")
For k = 1 To Len(b(0))
If IsNumeric(Mid(b(0), k, 1)) Then
a1 = Mid(b(0), k)
temp = Left(b(0), k - 1)
Exit For
End If
Next
For k = 1 To Len(b(1))
If IsNumeric(Mid(b(1), k, 1)) Then
a2 = Mid(b(1), k)
Exit For
End If
Next
For k = a1 To a2
m = m + 1
ReDim Preserve brr(1 To m)
brr(m) = temp & k
Next
Else
m = m + 1
ReDim Preserve brr(1 To m)
brr(m) = a(j)
End If
Next
arr(i, 1) = Join(brr, " ")
Erase brr
Next
Range("e2:E" & Range("e65536").End(xlUp).Row) = arr
End Sub
[ 本帖最后由 zhaogang1960 于 2010-1-30 22:24 编辑 ] |
|