| 论坛帮助 |
| 日历事件 |
|
|
#1 | ||
|
|||
|
正式会员
等级: 四袋长老
![]() ![]() ![]() ![]()
|
前阵子,我就遇到这样的单子,后来,网上问了好多人,才问到一个方法,现在发到这里供大家分享。 方法的中心思想很简单,就是运用excel里的宏,编一个自动复制的程序而已。新建excel输入数据如图1,工具,宏,visul basic editor,如图2,复制以下代码,如图3, Public Sub test() Dim i, rng As Range, k, arr() For Each rng In Range("b1:b" & Range("b65536").End(xlUp).Row) For i = 1 To Val(rng.Value) k = k + 1 ReDim Preserve arr(1 To k) arr(k) = rng.Offset(0, -1) Next Next Range("c:c").ClearContents Range("c1").Resize(UBound(arr)) = Application.Transpose(arr) End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then test End Sub 再切换到excel主界面,在B列下随意改动数字,就会出现图4效果,a,对就B1里有数字2,那在C列下,就有两个a,同理,b有4个,⋯⋯,再在D列下流水编号,即可。 这个代码不足之处是,只能在AB两列下复制。可我不会改! 特别申明:以上代码并非本人所写! |
||
|
|