ホーム > セルの操作 > Lesson6: セルのコピー

セルのコピー
セルのコピー セルのコピー Copy
指定したセルをコピーするときCopyを使います。
オブジェクト.Copy(Destination)

Destinationの意味は目的地。コピーしたセルの貼り付け先を指定します。 省略したときは、クリップボードに保存されます。
成績表
セルB2をコピーし、セルC9に貼り付けてみます。
Sub コピー_Copy()

  Range("B2").Copy Destination:=Range("C9")

End Sub

実行すると、セルB2がセルC9にコピーされ「成績表」と表示されました。
実行結果
2008年6月
クリップボードのデータを貼り付ける
クリップボードのデータを貼り付ける クリップボードのデータを貼り付ける Paste
クリップボードに保管されているデータを貼り付けるとき Pasteを使います。
オブジェクト.Pasete(Destination, Link)

Destinationの意味は目的地。コピーしたセルの貼り付け先を指定します。 省略したときは、今カーソルがある位置に貼り付けられます。
Linkは、貼り付けたデータと元のデータをリンクするときTrueを設定します。 Linkを設定すると、Destinationは指定できなくなります。 省略したときは、Falseが指定されます。
成績表
セルB2をクリップボードにコピーし、セルC9に貼り付けてみます。
Sub 貼り付け_Paste()

  Range("B2").Copy
  ActiveSheet.Paste Destination:=Range("C9")

End Sub

実行すると、セルB2がセルC9にコピーされ「成績表」と表示されました。
実行結果
成功......?
コピー元のセルB2の周りが点滅しています(上の画像ではありませんが...)
この点滅状態は、コピーモードというものだそうです。 この点滅している間、そのセルに続けて貼り付けることができます。
コピーモードを解除したい場合は、CutCopyModeプロパティにFalseを設定します。 ちなみにxlCopyを設定するとコピーモード、xlCutで切り取りモードになり、Falseで切り取りモードとコピー モードのいずれも選択されていない状態になります。
Sub 貼り付け_Paste()

  Range("B2").Copy
  ActiveSheet.Paste Destination:=Range("C9")
  Application.CutCopyMode = False

End Sub

1行加えると、コピーモードが解除されました。
2008年6月
Linkを使ってみる。
Sub 貼り付け_Paste()2

  Range("B2").Copy
  Range("C9").Select
  ActiveSheet.Paste Link:=True
  Application.CutCopyMode = False

End Sub

Linkを設定すると、Destinationは指定できなくいのでSelectでコピー先(リンク先)のセルC9を選択しておきます。 そして、実行。
実行結果
セルC9を見てみると、=$B$2 となっていてセルB2を参照してます。 セルB2に"OK"と入力してみると、セルC9にも反映されました。
2008年6月