【お題】王手、そして

エクセル2002使用です。

sheet1のA7からD19セルの値を
sheet2のB列の一列に転記をしたいのですが、
コピーが上手くできません。

Copy、Pasteメソッドを使用するときの
セルの選択が良くわからないのですが、
よろしくお願いします。

Sub tenki()

Dim i As Integer
Dim j As Integer

For i = 7 To 19
For j = 1 To 4

Cells(i, j).Copy
Worksheets("sheet2").Activate
Range("B65536").End(xlUp).Select
ActiveCell.past ←ここでエラー(注)
Next j
Next i

End Sub

(注)
エラー 
オブジェクトは、このプロパティーまたはメソッドをサポートしていません。

A 回答 (2件)

おはようございます。



提示のコードを修正するなら
---------------------------------------------
Sub tenki()
Dim i As Integer
Dim j As Integer

For i = 7 To 19
For j = 1 To 4

Cells(i, j).Copy Destination:=Sheets("sheet2").Range("B65536").End(xlUp).Offset(1)

Next j
Next i
End Sub
-------------------------------------------------

尚、Copyの場合は書式(色、罫線等)もコピーされますので、値だけなら、Copyの代わりに

Sheets("Sheet2").Range("B65536").End(xlUp).offset(1).value = Cells(i, j).Value

としてください。
以上です。
    • good
    • 0
この回答へのお礼

taocat 様 早速のご回答ありがとうございました。

ばっちりでした。
本当にありがとうございました。

今後ともよろしくお願いします。

お礼日時:2005/02/18 11:00

よくわかんないけど、素直に



Sub tenki()

Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim objFrom As Worksheet
Dim objTo As Worksheet

Set objFrom = ThisWorkbook.Worksheets("Sheet1")
Set objTo = ThisWorkbook.Worksheets("Sheet2")

k = 1

For i = 7 To 19
For j = 1 To 4
objFrom.Cells(i, j).Copy Destination:=objTo.Cells(k, 2)
k = k + 1
Next j
Next i

End Sub

taocatさんの回答のように値だけのコピーなら

objFrom.Cells(i, j).Copy Destination:=objTo.Cells(k, 2)



objTo.Cells(k, 2).Value = objFrom.Cells(i, j).Value

に変更
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報