OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:702
区分:プログラム  |  分類:VB  |  最終更新日:2016/04/20
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【VBA】セルを移動(カット&ペースト)する
関連タグ:VBA, セル
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 15,925
Excel VBA ナレッジ > 【VBA】セルを移動(カット&ペースト)する

Excel VBAでセルを移動するには、RangeオブジェクトまたはCellsオブジェクトのCutメソッドを使用します。

 

構文

Object.Cut(Destination)

引数
省略説明
Destination

移動先のセルオブジェクトを指定します。

省略した場合、移動元セルがクリップボードに貼り付けられた状態となります。

 

Cutメソッドは移動元セルのオブジェクトで使用し、引数に移動先のセルオブジェクトを指定します。

 

【例1 セルの値と書式を移動】

Range("A1").Cut Range("B1")    ' A1セルの値と書式をB1セルに移動します。
Cells(1, 1).Cut Cells(1, 2)    ' セル(1, 1)の値と書式をセル(1, 2)に移動します。

上記例ではどちらも同じ結果となります。

なお、Cutメソッドは値以外にセルの書式も移動しますので、値のみ移動する場合はまず代入式で値をコピー後、移動元セルをクリアすることで擬似的に移動処理を行います。

 

【例2 値のみ移動】

Range("B1").Value = Range("A1").Value  ' A1セルの値をB1セルにコピーします。
Range("A1").Clear                           ' A1セルをクリアします。

Clearメソッドはセルの値と書式を削除します。セルの値の消去はこちらの記事を参照下さい。

セルの範囲を移動する

セルの範囲を移動する場合もCutメソッドを使用します。

 

【例3 範囲を移動】

Range("A1:B2").Cut Range("A3")    ' A1:B2範囲の値と書式をA3:B4に移動します。

上記例のようにセルの範囲を指定して移動する場合、移動先は左上のセルを指定すればOKです。

セルをクリップボードにカットする

セルをクリップボードにカットする場合は引数(移動先)を指定しないでCutメソッドを使用します。

 

【例5 クリップボードにカット】

Range("A1").Cut

上記例ではセルA1がクリップボードにカットされます。

関連記事
関連記事はありません。
外部リンク
外部リンクはありません。
- 記事検索 -