5.12 切り取った行や列の挿入
切取りした行や列を、別な場所へ挿入(移動)するときの方法です。切取りは???.Cutメソッドで、切り取った行を挿入(移動)するときは???.Insertメソッドで行います。

ちなみに、???の部分はRangeColumnsRowsSelectionなど、行や列を表すオブジェクトです。詳しくは、5.1 セルや行列を扱うための基本をどうぞ。
使用例1/1行を切取り、別な場所へ挿入(移動)する場合
???.Cut???.Insertの使用例を、Rangeを使って説明します。

まずは、1行を切取って別な場所へ挿入(移動)する場合。例では、???.Cutメソッドを使い2行目を切り取り???.Insertメソッドを使い3行目へ切取った行を挿入(移動)しています。

ちなみに、.Insertで4を指定しているのは、間違いではありません。2行目は切り取りを行うとなくなります。3行目からは1行ずつ上に上がるのです。
そのため、4行目に挿入すると2行目が切り取られて上がるので、ちょうど3行目となります。


Sub prcCutInsertRow()

    '2行目を切り取ります
    Range("2:2").Cut
    '切り取った行を3行目に挿入(移動)します
    Range("4:4").Insert

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
使用例2/複数行を切取り、別な場所へ挿入(移動)する場合
次に複数の行を切取り、別な場所へ挿入(移動)する場合です。

例では???.Cutメソッドを使い1〜2行目を切取り???.Insertメソッドを使い2〜3行目に切り取った行を挿入しています。


Sub prcCutInsertRows()

    '1〜2行目を切取ります
    Range("1:2").Cut
    '切り取った行を2〜3行目に挿入(移動)します
    Range("4:4").Insert

End Sub
列の切取り・挿入
列の切取り・挿入は、Rangeの部分を列指定に変えるだけ(5.1 セルや行列を扱うための基本)で、必要なメソッドは同じです。なので、例は省略します…が手抜きではありません(汗)
Copyright(C) 1999-2006 結城圭介。 All rights reserved