| 
    
     |  | ▼よろずや さん: >配列の勉強でしょうか。
 >
 >このケースでは、1行ずつコピペするプログラムを書いた方がよろしいかと。
 
 お世話になります。
 Sheet2にあるデータを配列に取り込み、Sheet3に書き出すプログラムとして
 試しに以下を作ってみましたが、Sheet3には、sheet2の一行目の内容が貼りついており、そのあとはN/Aになっています。
 2行目には、データは貼り付けられていません。
 
 どこを修正すればよいか教えてください。
 
 
 Sub test()
 Dim Gyo As Long, Retu As Long
 Dim AllCells As Variant
 
 Worksheets("Sheet2").Activate
 
 ' ---変数にセル範囲を取り込む
 AllCells = Range(Cells(1, 1), Cells(Range("A65536").End(xlUp).Row, Range("D3").End(xlToRight).Column))
 
 ' ---何らかの処理
 For Gyo = 1 To UBound(AllCells, 1)
 For Retu = 1 To UBound(AllCells, 2)
 AllCells(Gyo, Retu) = AllCells(Gyo, Retu)*0.01
 Next Retu
 Next Gyo
 
 ' ---セル範囲に一気に書き戻す
 Worksheets("Sheet3").Activate
 
 Range(Cells(1, 1), _
 Cells(Range("A65536").End(xlUp).Row, _
 Range("D3").End(xlToRight).Column)) = AllCells
 End Sub
 
 |  |