首页 > Excel专区 > Excel函数 >

Excel VBA实现按名称循环出现特定次数

Excel函数 2023-01-13

我们常常遇到这样的问题:

把一些名称重复输入个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单元格的变量就行了。


Copyright © 2016-2023 office学习教程网 office.tqzw.net.cn. All Rights Reserved.