対象セル範囲の場所に、対象セル範囲と同サイズの空白セル範囲を挿入します。
引数<Shift>で元のセル範囲の移動方向を指定します。省略した場合、セル
範囲が縦長の場合には右方向に横長か正方形の場合には下方向に移動します。
列が対象の場合には必ず右方向、行が対象の場合には必ず下方向に移動します。
次のサンプル1は3行目以降の行に1行おきに空白行を挿入します。
●サンプル1●
Sub InsertSamp1()
Dim myLastRow As Long
Dim i As Long
myLastRow = Range("A65536").End(xlUp).Row
'最終行から上方向にループする
For i = myLastRow To 3 Step -1
Rows(i).Insert Shift:=xlDown
Next i
End Sub
セル範囲の挿入により、それ以降のセル範囲のアドレスが、対象セル範囲の
行数/列数分だけずれていきます。したがって、セル範囲の挿入を繰り返し行う
場合にはコメントのように番号が大きい方から小さい方へ処理をするようにして
ください。
次のサンプル2はRangeプロパティを使用し、連続したセル範囲を複数の領域
として処理させています。対象となる領域が複数の場合には、それぞれの領域
に対して一括に挿入の処理が行われるため、行番号の不整合が発生しません。
●サンプル2●
Sub InsertSamp2()
Range("3:3,4:4,5:5,6:6").Insert Shift:=xlDown
End Sub
|