教えて!ExcelVBA!

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

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

構文

構文は以下の通りです。

Range("切り取る範囲").Cut Destination:=Range("移動先の範囲")

解説

Cutメソッドは、指定した範囲のセルを切り取り、別の場所に移動させるための命令です。この機能を使うことで、データの移動や整理が簡単に行えます。切り取る範囲には、移動したいデータの範囲を指定します。例えば、A1からA10までのセルを切り取りたい場合は、"A1:A10"と指定します。移動先の範囲には、切り取ったデータを移動させたい位置を指定します。例えば、B1にデータを移動させたい場合は、"B1"と指定します。

使い方

例えば、A1からA10までのセルをB1に移動させたい場合は、以下のように記述します。

Sub CutExample()
    Range("A1:A10").Cut Destination:=Range("B1")
End Sub

プログラミング例

以下に、具体的なプログラミング例を示します。

例1: セルのデータを別のシートに移動する

以下の例では、現在のシートから指定した範囲のセルを切り取り、別のシートに移動させる操作が行われます。

Sub MoveDataToAnotherSheet()
    Dim sourceSheet As Worksheet
    Dim destinationSheet As Worksheet
    ' 切り取る範囲のシート名
    Set sourceSheet = ThisWorkbook.Worksheets("Sheet1")
    ' 移動先のシート名
    Set destinationSheet = ThisWorkbook.Worksheets("Sheet2")
    sourceSheet.Range("A1:A10").Cut Destination:=destinationSheet.Range("B1")
End Sub

この例では、"Sheet1"という名前のシートからA1からA10までの範囲のセルを切り取り、"Sheet2"という名前の別のシートのB1に移動させます。必要に応じてシート名やセルの範囲を変更してください。

例2: 行全体のデータを別のシートに移動する

以下の例では、現在のシートから指定した行のデータを切り取り、別のシートの最終行に移動させる操作が行われます。

Sub MoveRowToAnotherSheet()
    Dim sourceSheet As Worksheet
    Dim destinationSheet As Worksheet
    Dim lastRow As Long
    ' 切り取る範囲のシート名
    Set sourceSheet = ThisWorkbook.Worksheets("Sheet1")
    ' 移動先のシート名
    Set destinationSheet = ThisWorkbook.Worksheets("Sheet2")
    ' 移動先シートの最終行を取得
    lastRow = destinationSheet.Cells(destinationSheet.Rows.Count, 1).End(xlUp).Row
    sourceSheet.Rows(2).Cut Destination:=destinationSheet.Cells(lastRow + 1, 1)
End Sub

この例では、"Sheet1"という名前のシートの2行目のデータを切り取り、"Sheet2"という名前の別のシートの最終行に移動させます。必要に応じてシート名や行番号を変更してください。

例3: セルのデータを一時的な領域に切り取り、後で元の場所に戻す

以下の例では、現在のシートから指定したセルのデータを一時的に切り取り、別の処理を行った後で元の場所に戻す操作が行われます。

Sub CutAndPasteBack()
    Dim tempRange As Range
    Set tempRange = Range("A1:A5") ' 一時的に切り取る範囲
    ' ここで一時的なデータの処理を行います(例:データの変更や計算など)
    ・・・・・・・・・・・・・・・
    ' 元の場所にデータを戻す
    tempRange.Cut Destination:=tempRange.Cells(1, 1)
End Sub

この例では、一時的な領域として"A1:A5"の範囲を指定し、データの一時的な処理を行った後で、元の場所にデータを戻します。一時的な処理の部分には、データの変更や計算など、任意の処理を追加することができます。

まとめ

Cutメソッドを使うことで、データの移動や整理が簡単に行えます。是非活用してください。