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

需求

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


思路分析

Excel: 根据需求进行多行数据的复写_第1张图片

最终效果

Excel: 根据需求进行多行数据的复写_第2张图片

主要代码

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

你可能感兴趣的:(Excel: 根据需求进行多行数据的复写)