構文
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メソッドを使うことで、指定した範囲に新しいセル/行/列を挿入することができます。データの追加やシートのカスタマイズに便利なメソッドです。是非活用してください。