Insertメソッドを使った行・列の挿入方法です。
要するに何かしらの動線で行や列を選択し、Insertをくっつければ選択した分の幅の行/列が挿入されます。
行を挿入
行を挿入する場合、Rows(1).Insertと指定すれば、
アクティブシートの1行目の上に行が挿入されます。
2行目の上ならRows(2).Insertです。
2行目の上ならRows(2).Insertです。
またはRange(Rows(1), Rows(1)).Insertとか、Range(
"
A1"
).EntireRow.Insertとかで「Rangeの所属する行」にInsertをかけても同じ意味になります。複数行を挿入
たとえば2~3行目に挿入なら、Rows(
"
2:3"
).Insertとすれば挿入できます。Rangeは開始列と終了列を,で区切っても範囲指定できるので、Range(Rows(1), Rows(3)).InsertとしてもOKです。この場合1~3行目に挿入されます。
列を挿入
列を挿入する場合、Columns(1).InsertまたはColumns(
"
A"
).Insertと指定すれば、アクティブシートの1列目(A列)の左に列が挿入されます。
Range(Columns(1), Columns(1)).Insertや、Range(
"
A1"
).EntireColumn.Insertでも同じ意味になります。複数列を挿入
たとえばB~C列に挿入なら、Columns(
"
B:C"
).Insertとすれば挿入できます。Range(Columns(1), Columns(3)).InsertとしてもOKです。この場合A~C列に挿入されます。
コピーした行の挿入
1行目をコピーして3行目の上に挿入する場合、以下のコードのようになります。
' vba
Rows(1).Copy
Rows(3).Select
Selection.Insert
複数行をコピーする場合も、選択する行を複数にするだけで、あとは同じ要領です。
' vba
Rows("1:3").Copy
Rows(5).Select
Selection.Insert
コピーした列の挿入
列の場合も同様。1列目をコピーして3列目の左に挿入する場合、以下のコードのようになります。
' vba
Columns(1).Copy
Columns(3).Select
Selection.Insert
複数列をコピーする場合、選択する列を複数にします。
' vba
Rows("1:3").Copy
Rows(5).Select
Selection.Insert
他のシートに行列を挿入
' vba
Worksheets("Sheet1").Rows(1).Insert
他のシートに挿入したい場合、SheetsまたはWorksheetsを頭に付ければOKです。
' vba
Sheets(1).Columns(1).Insert
シートはインデックスでも指定できます。
関連記事
通常操作で行・列を挿入する方法です。
セルの場合のInsertメソッドの使い方です。
一行おきに空白の行/列を挿入する方法です。通常操作、マクロ両方記載してます。
Excel(エクセル):行、列
Excelの行、列関係操作、関数、VBAです。他のまとめとかぶる部分が多い場合はリンク貼ります。
行・列の選択
行・列の選択方法です。
テーブル内の行・列一括選択方法です。
VBA(マクロ)で列・...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
コメント