Excel VBA實現按名稱循環出現特定次數
我們常常遇到這樣的問題:
把一些名稱重復輸入個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單元格的變量就行了。