
Excel VBA 代码功能实现
例如:通过ExcelVBA代码怎么把L072,L083-L087,L1110-L1113转化为:L072,L083,L084,L085,L086,L087,L1110,L...
例如:通过Excel VBA 代码怎么把 L072,L083-L087,L1110-L1113 转化为:
L072,L083,L084,L085,L086,L087,L1110,L1111,L1112,L1113
代码怎么实现?? 展开
L072,L083,L084,L085,L086,L087,L1110,L1111,L1112,L1113
代码怎么实现?? 展开
2个回答
展开全部
我用楼上老师的代码修改一下
Sub LKJLK()
ss = Split([a1].Value, ",")
For n = 0 To UBound(ss)
If InStr(ss(n), "-") Then
kk = Split(ss(n), "-")
t = Left(kk(0), 1) '改用变量,你的原数据可以变化字母,直接引用,而不是固定L
a = Mid(kk(0), 2)
b = Mid(kk(1), 2)
For x = a To b '循环只需要从a到b即可
k = k & t & Format(x, "000") & ","
Next
Else
k = ss(n) & ","
End If
Next
[b1] = Mid(k, 1, Len(k) - 1)
End Sub
请采用楼上老师,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
L072,L083-L087,L1110-L1113
这个内容是在一个单元,还是三个?
这个内容是在一个单元,还是三个?
更多追问追答
追问
在一个单元内
追答
内容在A1单元格,结果返回在B1
Sub LKJLK()
ss = Split([a1].Value, ",")
For n = 0 To UBound(ss)
If InStr(ss(n), "-") Then
kk = Split(ss(n), "-")
a = Mid(kk(0), 2)
b = Mid(kk(1), 2)
For x = 1 To b - a + 1
k = k & "L" & Format(a, "000") & ","
a = a + 1
Next
Else
k = ss(n) & ","
End If
Next
[b1] = Mid(k, 1, Len(k) - 1)
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询