• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Copyコマンドについて)

Copyコマンドの使い方についての質問

このQ&Aのポイント
  • Copyコマンドを使用してH~Uの行を下の行にコピーする方法について教えてください。
  • 一つ目の方法では、Sheets(1).Range("H12:U12").Copy Destination:=Sheets(1).Range("H13")というコードを使用していましたが、任意の行で使う方法を知りたいです。
  • Cellsを使って上手くコピーする方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

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 という書き方もありますよ。

saab8743
質問者

お礼

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

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

シート関係を質問に明確に表現すること。 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コマンドについて は不適当。

saab8743
質問者

お礼

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

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

Range(Sheets(12).Cells(r + 11, 8), Sheets(SN).Cells(r + 11, 15) Rangeの中で別シートって指定できましたっけ? Range(Cells(r + 11, 8), Cells(r + 11, 15)) じゃないんでしょうか。

saab8743
質問者

お礼

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

関連するQ&A