教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】セル範囲を切り取り(Cut)&指定場所に貼り付けする方法を教えて!

f:id:m_kbou:20200419070746p:plain

セル範囲を切り取りするにはCutメソッドを使用します。Cutメソッドは不連続なセル範囲を切り取る事はできないため予め注意が必要です。今回はこのCutメソッドを使用したセル範囲の切り取り及び指定場所への貼り付け方法について紹介します。

 

 

構文

記述方法は以下の通りとなります。

Range(”[切り取り範囲]”).Cut Destination: =[貼り付け先]

[説明]:

セル範囲を切り取り&貼り付けするには「Range(”[切り取り範囲]”).Cut Destination: =[貼り付け先]」と記述します。[切り取り範囲]には切り取りするセル範囲を記述します。[切り取り範囲]は「”」(ダブルクォーテーション)で囲みます。また、切り取りした範囲を貼り付けるには、Destination:=の後の[貼り付け先]に貼り付け先セルを指定します。内容を纏めると、「[切り取り範囲]で切り取りしたデータを、[貼り付け先]で指定したセルに貼り付けて下さい。」との意味になります。

[記述例]:

Range("A1:C3").Cut Destination:=Range("E5")
Range("A1:C3").Cut Destination:=Sheets("Sheet2").Range("E5")

 

使い方

使い方について具体的に説明します。

同じシート内にセル範囲を切り取り&貼り付けする方法

同じシート内にセル範囲を切り取り&貼り付けする方法について説明します。

[プログラミング例]:

Sub サンプル()
  Range("A1:C3").Cut Destination:=Range("E5")
  MsgBox "切り取り&貼り付けしました。"
End Sub

内容は、「A1セル~C3セルの範囲を切り取りして同シート内のE5セルを先頭に貼り付けし、最後にMsgBoxで”切り取り&貼り付けしました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210413104803p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。Sheet1シートのA1セル~C3セルの範囲にデータが入力されています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210413105751p:plain

②結果は以下の様になります。Sheet1シートのA1セル~C3セルのデータが切り取りされ、同シート内のE5セルを先頭に貼り付けします。また、「切り取り&貼り付けしました。」のメッセージが表示されます。

f:id:m_kbou:20210413105804p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

同じシート内にセル範囲を切り取り&貼り付けする方法についての説明は以上です。

 

別シートにセル範囲を切り取り&貼り付けする方法

別シートにセル範囲を切り取り&貼り付けする方法について説明します。

[プログラミング例]:

Sub サンプル()
  Range("A1:C3").Cut Destination:=Sheets("Sheet2").Range("E5")
  MsgBox "切り取り&貼り付けしました。"
End Sub

内容は、「A1セル~C3セルの範囲を切り取りしてSheet2シートのE5セルを先頭に貼り付けし、最後にMsgBoxで”切り取り&貼り付けしました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210413105017p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。Sheet1シートのA1セル~C3セルの範囲にデータが入力されています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20190828081628p:plain

②結果は以下の様になります。Sheet1シートのA1セル~C3セルのデータが切り取りされ、「切り取り&貼り付けしました。」のメッセージが表示されます。

f:id:m_kbou:20210413105130p:plain

③またSheet2シート(別シート)を確認すると、先程切り取ったデータがE5セルを先頭に貼り付けされている事が確認できます。

f:id:m_kbou:20210413105317p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

別シートにセル範囲を切り取り&貼り付けする方法についての説明は以上です。

  

おわりに

今回はセル範囲を切り取り&貼り付けする方法について説明しました。類似内容にセル範囲をコピー&貼り付けする方法があります。是非一緒に覚えておいて下さい。