Excel VBAで切り取りをする方法を確認します。
Cut(切り取り)メソッド
書式
オブジェクト.Cut Destination:=~
指定したセルを切り取り、クリップボードに保管します。
引数Destinationを指定することで、クリップボードに保管せず、指定したセルに直接貼り付けることができます。
離れたセル範囲を指定することはできず、1つの連続したセル範囲を指定する必要があります。
セルの切り取り(Cut)
1 2 3 |
Sub Test() Range("A1").Cut Destination:=Cells(1, 9) End Sub |
セルA1に記載されていた「No」をセルI1に切り取り、貼り付けする処理です。
実行結果
引数Destinationを指定しない場合、クリップボードに保管されるだけなので、Pasteメソッドなどを使用して貼り付けする必要があります。
1 2 3 4 5 |
Sub Test() Range("A1").CurrentRegion.Cut Range("I1").Activate Worksheets("Sheet1").Paste End Sub |
セルA1が含まれる範囲全体を切り取りし、セルI1へ貼り付ける処理です。
Pasteはセルを指定して使うことはできないため、一度I1のセルをアクティブにしてからPasteを実行しています。
なぜ、セルを指定してPasteを実行できないか気になる方はこちらの記事をご覧ください。
実行結果です。
セルA1が含まれる範囲全体が、セルI1に移動しました。
まとめ
- 指定したセルを切り取ることができる
- 引数Destinationを指定することでクリップボードに保管せず貼り付けすることができる
- 引数を指定しない場合はクリップボードに保管されるため、貼り付ける場合はPasteメソッドを使う
Excel VBAはこちらの書籍を使って学習しています。
2冊目はKindle Unlimitedの対象です。
月額1,000円で対象の本がいくらでも読み放題なので、ぜひ活用しましょう。
もちろん私自身も使用しています。
コメント