Excel: 根据需求进行多行数据的复写

需求

有朋友提出了这样一个需求:某数据表是用来打印包裹标签,有些标签需要重复打印,以贴在不同的包裹上,为了区分数据表中需要重复的标签,创建了新的一列记录重复的数量。如何让excel根据这个数量自动增加新的标签呢?
数据表可能如下图所示:


思路分析

最终效果

主要代码

Sub MultipleLabels()
Dim i, rowNum As Long, j, labelNum As Integer
'首先复制原始数据表到新表,以保护原始数据
Sheets("Sheet1").Select
Sheets("Sheet1").Copy Before:=Sheets(1)
'遍历第四列“打印数量”
For i = 2 To 65536
If Cells(i, 4).Value <> "" Then
lableNum = Cells(i, 4).Value - 1
'根据标签数量进行重复打印
For j = 1 To lableNum
Rows(i).Select
Selection.Copy
Rows(i + 1).Select
Selection.Insert Shift:=xlDown
Next j
End If
i = i + lableNum
Next i
End Sub
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容