Step 3_3 セルデータのコピー・移動・削除・クリア

■セルデータのコピー・移動・貼り付け

このマクロを練習するには、DLページから「売上集計」ブックをダウンロードして使うと便利です。

★クリップボードを経由せずにデータをコピーするには

  • セルのデータをコピーする方法はマクロ記録でもできますが、ステートメントは長くなります。 ここではクリップボードを経由せずにデータをコピーする方法を学びます。
  • セルデータのコピーはCopyメソッドを使い、引数に Destination を指定します。
  • 次の例は「納品書」シートの【E6:E9】のデータを、「売上集計」シートの【A1】にコピーします。
    ※引数Destinationを省略した場合は、クリップボードにコピーされます。

    Worksheets("納品書").Range("E6:E9").Copy _
      Destination:=Worksheets("売上集計").Range("B14")

★データを移動するには

    Copyメソッドの代わりに Cutメソッドを使うと、移動になります。 次の例では、アクティブシートのセル【E6:E9】のデータを【G6】に移動します。

    Range("E6:E9").Cut Destination:=Range("G6")

★形式を選択して貼り付けるには

  • セルデータを形式を選択して貼り付けるにはPastSpecialメソッドを使います。
  • 引数には「Paste:=」を使います。(Patate:=xlAll」だけは省略できます)
  • 引数には次のような種類があります。
    xlPasteAllすべて
    xlPasteAllExceptBorders 罫線を除くすべて
    xlPasteColumnWidths列幅
    xlPasteCommentsコメント
    xlPasteFormats書式
    xlPasteFormulas数式
    xlPasteFormulasAndNumberFormats 数式と数値の書式(2002以上)
    xlPasteValidation 入力規則(2002以上)
    xlPasteValues
    xlPasteValuesAndNumberFormats値と数値の書式(2002以上)

    次の例では「納品書」シート【F13】の数式を【F14:F15】にコピーしています。

    Worksheets("納品書").Activate
    Range("F13").Copy
    Range("F14:F15").PasteSpecial Paste:=xlPasteFormulas

    次の例では【C26】の書式だけを【F26】にコピーしています。

    Range("C26").Copy
    Range("F26").PasteSpecial Paste:=xlPasteFormats

■セルデータのクリア

★選択したセルの数式と値をクリアするには

  • 選択されたセル範囲の数式と値をクリアするには、Valueプロパティに空の文字列を入力する方法と、 ClearContentsメソッドを使う方法があります。d
  • ActiveCellプロパティは、1つのセル(アクティブ)を参照し Selectionプロパティは、複数のセル範囲を参照することができます。

    Worksheets("納品書").Activate
    Range("B2").Select
    ActiveCell.Value = ""

    Worksheets("売上集計").Activate
    Range("I5:I12").Select
    Selection.ClearContents

★セルの内容をすべてクリアするには

    Clearメソッドを使うと「数式」「値」「書式」「コメント」のすべてをクリアできます。

    Range("B2:F9").Clear

    次の例では複数のセル範囲の内容をすべてクリアします

    Range("B12:F12,F26:F35").Clear

★選択されたセル範囲の書式だけクリアするには

    ClearFormatsメソッドを使うと、セルの表示形式をクリアすることができます。

    Range("B12:F22").ClearFormats