ある行のH~Uまでをすぐ下の行にコピーしたいのですが今まではセルの場所が判っていましたので
Sheets(1).Range("H12:U12").Copy Destination:=Sheets(1).Range("H13")
としていましたが任意の行ですので
r = Sheets(SN).Range("b65536").End(xlUp).Row
Sheets(12).Range(Sheets(12).Cells(r + 11, 8), Sheets(SN).Cells(r + 11, 15)).Copy Destination:=Sheets(12).Cells(r + 12, 8)
では上手くいきませんCellsを使うときはどうすればよいか教えてください
よろしくお願いします

A 回答 (3件)

Sheets(12)とSheets(SN)は同じ?


という疑問はおいておいて
無理にCellsで指定しなくてもRnageで
r = Range("B65536").End(xlUp).Row
Range("H" & r + 1 & ":U" & r + 1).Value = Range("H" & r & ":U" & r).Value
という書き方もありますよ。
    • good
    • 0
この回答へのお礼

ありがとうございます
教えていただいたコードで行きます。

お礼日時:2011/04/27 20:04

シート関係を質問に明確に表現すること。


r = Sheets(SN).Range("b65536").End(xlUp).Row
というからにはSheets(SN)の下の行に貼り付けるのではないか。
ーー
その場合は
>Sheets(12).Range(Sheets(12).Cells(r + 11, 8), )).Copy Sheets(SN).Cells(r + 11, 15)).Copy Destination:=Sheets(12).Cells(r + 12, 8)
はDestination:=Sheets(SN).Cells(r + 12, 8)のような形になるのでは。
何をしたいかはっきりさせて質問すること。
ーー
Sheets(12).Range(Sheets・・も
Sheets(12).Range(1,3)のような形になっている。Rangeの場合は()内は"C1"のような文字列で指定。
Range(1,3)のような記述は出来るはずがない。
Cells(i,j)からの安易な類推で間違っている。
ーー
例題 下記をよく読んで考えること。
Sub test02()
Worksheets("sheet1").Cells(1, 2) = "A"
MsgBox Worksheets("sheet1").Range(Worksheets("sheet1").Cells(1, 2) & 1)
End Sub
ならA1セルの値が返る。
ーーー
参考
エラーが起こったら(上記のような文法、記法的なエラーは別にして)
Sub test01()
’SN-->Sheet2
r = Sheets("sheet2").Range("B65536").End(xlUp).Row 'SN=Sheet2
MsgBox r
MsgBox r + 11 '16
'Sheet12-->Sheet1
Sheets("Sheet1").Range(Sheets("Sheet1").Cells(r + 11, "H"), Sheets("Sheet1").Cells(r + 11, "J")).Copy _
Destination:=Sheets("Sheet1").Cells(r + 12, "H")
End Sub
のように範囲や列、行を具体的に、簡単な例に置き換えてみて、うまく行くかどうかMsgboxなどで確認すればデバッグが進むと思う。
==
表題も、>Copyコマンドについて
は不適当。
    • good
    • 0
この回答へのお礼

質問の方法がまずかったようで失礼しました。
Sheets(SN)はSheets(12)の間違いでした。
ありがとうございました。
今後気をつけます失礼しました。

お礼日時:2011/04/27 20:10

Range(Sheets(12).Cells(r + 11, 8), Sheets(SN).Cells(r + 11, 15)



Rangeの中で別シートって指定できましたっけ?

Range(Cells(r + 11, 8), Cells(r + 11, 15))

じゃないんでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございました
この方法もありですね

お礼日時:2011/04/27 20:10

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


人気Q&Aランキング