構文
Insertメソッドは、指定した範囲に新しいセルや行/列を挿入します。
セルを挿入する場合
構文は以下の通りです。
解説
Worksheetsのシート名には、セルを挿入したいシートの名前を指定します。Rangeのセル範囲には、新しいセルを挿入したい場所を指定します。例えば、A1セルからB5セルまでの間に新しいセルを挿入したい場合は、「A1:B5」と指定します。Shiftには挿入する際にシフトする方向を指定します。この例では、「xlDown」と指定しているため、上にあるセルが下にシフトします。
行を挿入する場合
構文は以下の通りです。
解説
Worksheetsのシート名には、行を挿入したいシートの名前を指定します。Rowsの行番号には、新しい行を挿入したい場所の行番号を指定します。例えば、3行目に新しい行を挿入したい場合は、「3」と指定します。
列を挿入する場合
構文は以下の通りです。
解説
Worksheetsのシート名には、列を挿入したいシートの名前を指定します。Columnsの列名または列番号には、新しい列を挿入したい場所の列名または列番号を指定します。例えば、B列に新しい列を挿入したい場合は、「B」と指定します。Shiftには挿入する際にシフトする方向を指定します。この例では、「xlToRight」と指定しているため、左にある列が右にシフトします。
使い方
具体的な使い方を紹介します。
(例1)A1セルに新しい行を挿入
Worksheets("Sheet1").Rows(1).Insert Shift:=xlDown
End Sub
(例2)B列に新しい列を挿入
Worksheets("Sheet1").Columns("B").Insert Shift:=xlToRight
End Sub
プログラミング例
以下に、プログラミング例を紹介します。
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("成績表")
' 成績表にデータを入力
ws.Range("A1").Value = "氏名"
ws.Range("B1").Value = "テスト1"
ws.Range("C1").Value = "テスト2"
ws.Range("A2").Value = "山田太郎"
ws.Range("B2").Value = 85
ws.Range("C2").Value = 92
' 新しい行を2行目に挿入
ws.Rows(2).Insert Shift:=xlDown
End Sub
このコードを実行すると、成績表の2行目に新しい行が挿入されます。
まとめ
Insertメソッドを使うことで、指定した範囲に新しいセル/行/列を挿入することができます。データの追加やシートのカスタマイズに便利なメソッドです。是非活用してください。