我有一个在现有数据行之间插入多行的宏:
Sub test()
Dim j As Long, r As Range
j = InputBox("No. of rows to be inserted?")
Set r = Range("A3")
Do
Range(r.Offset(1, 0), r.Offset(j, 0)).EntireRow.Insert
Set r = Cells(r.Row + j + 1, 1)
If r.Offset(1, 0) = "" Then Exit Do
Loop
End Sub
我实际需要做的是插入行'x'次的副本,而不是插入空白行。有人可以帮忙吗?我提前道歉,因为我对此缺乏了解!
答案 0 :(得分:1)
试试这个
Option Explicit
Sub test()
Dim j As Long
Dim rng As Range, cell As Range
Dim i As Long
j = Application.InputBox("No. of rows to be inserted?", Type:=1)
With Worksheets("REFS") '<-_| change "REFS" to your actual worksheet name
i = 1
With .Range("D2", .Cells(.Rows.Count, "D").End(xlUp))
Do While i <= .Rows.Count
With .Cells(i).EntireRow
.Copy
.Offset(1).Resize(j).Insert Shift:=xlDown
Application.CutCopyMode = False
End With
i = i + j + 1
Loop
End With
End With
End Sub
我使用Application.InputBox()方法而不是VBA InputBox()方法,因为前者允许您强制用户输入数据类型(在示例中类型:= 1强制数字输入)