任务: 在不同的行下面插入指定数量的空白行并在空白行中复制该行内容(本例是要求在每行下面插入B列数字对应的空白行)
前后
vba代码如下:
Sub 在不同的行下面插入指定数量的空白行并在空白行中复制该行内容()
Dim m, n, i As Integer
For m = 5 To 1 Step -1
Sheets("Sheet1").Rows(m & ":" & m).Select
n = Sheets("Sheet2").Cells(m, 1).Value
For i = 1 To n Step 1
Selection.Copy
Selection.Offset(1, 0).EntireRow.Insert
Next i
Next m
End Sub
以上代码注释如下
Sub 在不同的行下面插入指定数量的空白行并在空白行中复制该行内容()
Dim m, n, i As Integer
For m = 5 To 1 Step -1 '在sheet1工作表中,假设A列共有7行,要在每行的下面插入B列对应数字的行数,记住,是在下面插入空白行,不是在上面插入空白行
Sheets("Sheet1").Rows(m & ":" & m).Select'选中sheet1工作表中的第m行
n = Sheets("Sheet2").Cells(m, 1).Value'提前把sheet1工作表中B列的数字放到sheet2工作表A列的前7个单元格中,这一步是必要的,然后取出sheet2工作表A列第m个单元格中的数字,赋给变量n
For i = 1 To n Step 1'利用for...next 循环在sheet1表中第m行下面插入n个空白行
Selection.Copy '拷贝sheet1第m行内容
Selection.Offset(1, 0).EntireRow.Insert’把拷贝的内容放到插入的空白行内
Next i
Next m
End Sub