Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 复印及;粘贴变量行_Excel_Vba - Fatal编程技术网

Excel 复印及;粘贴变量行

Excel 复印及;粘贴变量行,excel,vba,Excel,Vba,我有一个宏,可以在现有数据行之间插入许多行: 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

我有一个宏,可以在现有数据行之间插入许多行:

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”行的副本,而不是插入空白行。有人能帮忙吗?我为我在这方面的知识不足提前道歉

试试这个

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
选项显式
子测试()
Dim j尽可能长
变暗rng作为范围,单元格作为范围
我想我会坚持多久
j=Application.InputBox(“要插入的行数?”,类型:=1)

对于工作表(“REFS”)“这太好了,非常感谢您-但它只复制并插入第一行的“x”个副本。我需要它跳到下一个“唯一”行,并执行相同的过程,直到它到达一个空白行-我如何循环这个?对不起,我不明白你的意思:请更详细地解释抱歉-我不太擅长这个!原始宏在数据列表上运行。它在每行数据之间插入“x”空行。我需要插入的行是副本,而不是空白。基本上,上面的答案是有效的,但它需要第一行数据,并在下面生成“x”个副本。我需要它移动到下一个唯一行('x+1'?!)并插入此行的x个副本。然后是下一个,依此类推,直到它变成一个空白行。只需添加一些“之前”和“之后”场景的屏幕截图。我想我已经这样做了,因为我是新手,它们显示为链接而不是图片。