Excel VBA实现按名称循环出现特定次数
- 2023-02-16
- 来源/作者: Wps Office教程网/ 菜鸟图库
- 144 次浏览
我们常常遇到这样的问题:
把一些名称重复输入个N行,N是特定的,比如说。结果大概这样:
为什么我们要做这样的事情呢。其实这样的应用场景很多,比如说促销活动选品,不同类目名称要有不同的个数。类目属性调整,不同类目也是不同的属性项,也就有了不同的次数。不同行业也有各自不同的场景。
以往基本上就是手动来做,很辛苦。名称越多,越辛苦。
现在如果会VBA就能用VBA来实现自动化,当然学好VBA,不是一天两天的事情。
下面就来分享我的代码,首先感谢一起学习VBA的朋友的帮助,我就差那1句代码。但这句却是最难想到的。
全部代码如下:
Alt+F11,进入VBE编辑器,插入模块,放入代码:
Public Sub chongf()’名称N次重复
Dim m as integer,i as integer,k as integer
m = 3 ‘赋值
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row’到非空最末
msgtr = Range("b" & i) ‘区域赋值变量比直接赋值更易懂
For k = 1 To msgtr
Range("d" & m – 1) = Cells(i, 1)
m = m + 1 ‘让m产生变化是代码重点,我就缺这句。
Next
Next
End Sub
最后就能实现效果:
我最早缺少那句时,我能写出for 双循环,但是我无法实现输出的数据每次下移一个单元格。原来构造一个每次加1单元格的变量就行了。