|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
这个吧用Power Query 比较简单, 讲个思路吧,Power Query 思路
1.利用逗号第一次拆分
2.利用Record功能,去除字母,得到- 前后的数字,并生成序列List,例如11-15;
剔除数字获取字母,组合list生成{R11,R12,R13,R14,R15}
3.展开
4.将"数量"列变为1
可以参照之前的回答 (4楼)
http://club.excelhome.net/forum.php?mod=viewthread&tid=1517131
VBA思路
1.利用[逗号]分割循环,
2.利用[-]分割循环,(开始=第一个元素的"-"前面的数字,结束=第二个元素的"-"前面的数字)
注意:如果只有一个元素的时候,需要增加一个IF判断 开始=结束=第一个元素的数字
3.在循环中,建立一个足够大的数组逐一添加即可,(第一个元素前面的字母及第二次循环的变量),例如 R & i=11 to 15
难点在于剔除字符串(String)中的字母,或者剔除数字
可以自建正则函数
剔除掉字母[^A-Za-z],剔除掉数字[^0-9]
回答的有点啰嗦,仅供楼主参考
望大佬斧正
|
评分
-
1
查看全部评分
-
|