|
▼よろずや さん:
>配列の勉強でしょうか。
>
>このケースでは、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
|
|