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 に答える