0

首先,我是 VBA 的新手。我正在尝试将 A 列和 B 列(动态行)中的范围复制“n”次,其中我将单元格“c2”中的 n 值指定到同一工作簿中的另一张工作表中。

Column A   Column B

DDDDDD      d345g
THFGJJ      th567
JKHNGF      thgf4
UJHG67      uj768
tkm78y      y7865

这是我尝试过的,但它给了我一个中断错误。

Sub rangecopy()

    Application.ScreenUpdating = False
    Dim rangeini As Long
    Dim i As Integer
    rangeini = Sheets("sheet1").[a10000].End(xlUp).Row+1 //range of data to copy
    n = Sheets("sheet1").range("c2")//number of times to be copied
    For i = 1 To n

        rangeini.Copy
        Sheets("sheet2").range("A2").PasteSpecial//data to be pasted here

    Next i
    Application.ScreenUpdating = True 

End Sub    

我正在修复中并尽快需要它。非常感谢任何帮助。

请编写一个简单的代码,以便新手能够理解并从中学习。

4

2 回答 2

1

这只是一个简单的复制/粘贴

Sub rangecopy()

    Dim i As Integer, n As Integer
    Dim intHowmany As Integer


    n = Sheets("sheet1").Range("c2") 'number of times to be copied

    Range("a2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, (Selection.Offset(0, 1))).Select

    Selection.Copy

    intHowmany = Selection.Rows.Count

    ActiveWorkbook.Worksheets(2).Select
    Range("a2").Select


    For i = 1 To n

        ActiveSheet.Paste
        ActiveCell.Offset(intHowmany, 0).Select


    Next i

End Sub
于 2013-03-22T14:25:06.410 回答
0
Sub rangecopy() 

    Application.ScreenUpdating = False 
    Dim rangeini As range  
    Dim i As Integer, n as integer
    Set rangeini = Sheets("sheet1").range("a2").resize(Sheets("sheet1").[a2].End(xlDown).Row - 1, 2) 'range of data to copy 
    n = Sheets("sheet1").range("c2") 'number of times to be copied

    Sheets("sheet2").[a2] = rangeini 'paste the first one in "a2"
    For i = 2 To n

        Sheets("sheet2").[a1].Offset(Sheets("sheet2").[a2].End(xlDown).row) = rangeini  'data to be pasted at the end 

    Next i 
    Application.ScreenUpdating = True

End Sub
于 2013-03-22T11:05:22.270 回答