エクセルで行挿入時に下と同じ書式を適用する方法|基本、ショートカット、VBA

エクセルで表に行を挿入する時に下の行の書式を引き継ぎたいときがありますよね。

標準では上の行の書式が適用されますので、項目直下の行を挿入する場合は以下のようになってしまいます。

そんな中で悩むことは、

・行挿入時に下と同じ書式を適用するやり方がわからない。
・ショートカットやVBAで効率的に行いたいがやり方がわからない。

ですよね。

今回はそんなお悩みを解決する
エクセルで行挿入時に下と同じ書式を適用する方法について
まとめます!



エクセルで行挿入時に下と同じ書式を適用する基本操作

表の2行目の行を選択し、右クリック>[挿入]を選択します。

赤枠線内のアイコンをクリックし、[下と同じ書式を適用]を選択します。

3行目のの書式が適用されました。




エクセルで行挿入時に下と同じ書式を適用するショートカット

ショートカットは以下の順序で実施します。

下と同じ書式を適用

追加したい行をクリックで選択

もしくは、

Shiftl + Space ※ひらがな入力モードだと機能しません。

Ctrl + +

Alt + メニューキー(キーボード右下のWindowsキー右隣ののようなアイコンのキー)

Alt + ×2回

Enter

タカヒロ
タカヒロ
[メニューキー]は手早く押すことがコツです。




エクセルで行挿入時に下と同じ書式を適用するVBA

エクセルVBAで行挿入時に下と同じ書式を適用する方法について説明します。

サンプルのVBAは以下の通りです。

行挿入時に下と同じ書式を適用する(アクティブシート-行指定)

Rowsプロパティで値「2」とすることで、2行目が対象となります。
次に、Insertメソッドで行を挿入します。
仕上げに、Insertメソッドの書式を管理するパラメータCopyOriginに、下と同じ書式を適用する値「xlFormatFromRightOrBelow」を指定します。

タカヒロ
タカヒロ
なお、標準では上の書式が適用されます。
明示的に設定する場合の値は以下の通りです。

説明
左または上と同じ書式を適用(標準) xlFormatFromLeftOrAbove
右または下と同じ書式を適用 xlFormatFromRightOrBelow
Sub 行挿入時に下と同じ書式を適用する_行指定()

    '2行目に挿入し、下と同じ書式を適用する
    Rows("2").Insert , CopyOrigin:=xlFormatFromRightOrBelow
End Sub

タカヒロ
タカヒロ
実行すると上記基本操作と同じ結果になります。


行挿入時に下と同じ書式を適用する(アクティブシート-複数行指定)

Rowsプロパティで値「”2:4″」とすることで、2~4行を対象とします。
この場合、下と同じ書式を適用する対象は5行目の書式となります。

Sub 行挿入時に下と同じ書式を適用する_複数行指定()

    '2~4行目に行を挿入し、下と同じ書式を適用する
    Rows("2:4").Insert , CopyOrigin:=xlFormatFromRightOrBelow
End Sub

タカヒロ
タカヒロ
複数行追加されましたね。
値を変えれば行を増やしたり、位置を指定することができます。

行挿入時に下と同じ書式を適用する(アクティブシート-範囲指定)

Rangeプロパティで値「”A2:C3″」とすることで、”A2:C3″を対象とします。
この場合、下と同じ書式を適用する対象は”A4:C4″の書式となります。

Sub 行挿入時に下と同じ書式を適用する_範囲指定()
    '"A2:C3"にセルを挿入し、下と同じ書式を適用する
    Range("A2:C3").Insert , CopyOrigin:=xlFormatFromRightOrBelow
End Sub

タカヒロ
タカヒロ
結果は上記と同じですが、この処理は行全体ではなく、指定したセルの範囲でセル挿入及び書式が適用されます。
なお、下に結合されてるセルが含まれる場合は結合が解除されるので注意してください。

行挿入時に下と同じ書式を適用する(ブック全シート-行指定)

こちらからブックに存在する全シートが処理の対象となります。

対象をブック全体とする場合は、存在するシート分処理を繰り返すようにします。
Sheets.Countプロパティでシートの件数を取得し、
Sheets(num)でシートのインデックスを指定することにより全シートを対象にすることができます。
次に各シートのRowsプロパティで値「2」とすることで、2行目が対象となります。
次に、Insertメソッドで行を挿入します。
仕上げに、Insertメソッドの書式を管理するパラメータCopyOriginに、下と同じ書式を適用する値「xlFormatFromRightOrBelow」を指定します。

Sub 行挿入時に下と同じ書式を適用する_ブック全シート_行指定()

    Dim num As Integer
    
    'ブック全シートを対象に処理を繰り返す
    For num = 1 To Sheets.Count
        '各シートの2行目に行を挿入し、下と同じ書式を適用する
         Sheets(num).Rows("2").Insert , CopyOrigin:=xlFormatFromRightOrBelow

    Next
    
End Sub

タカヒロ
タカヒロ
シートすべてに行挿入と書式適用がされたことが確認できますね。


行挿入時に下と同じ書式を適用する(ブック全シート_複数行指定)

各シートのRowsプロパティで値「”2:4″」とすることで、2~4行を対象とします。
この場合、下と同じ書式を適用する対象は5行目の書式となります。

Sub 行挿入時に下と同じ書式を適用する_ブック全シート_複数行指定()

    Dim num As Integer
    
    'ブック全シートを対象に処理を繰り返す
    For num = 1 To Sheets.Count
        '各シートの2~4行目に行を挿入し、下と同じ書式を適用する
         Sheets(num).Rows("2:4").Insert , CopyOrigin:=xlFormatFromRightOrBelow

    Next
    
End Sub

タカヒロ
タカヒロ
シートすべてに複数行追加されましたね。
Case文などでシートごとに処理を分けることもできます。

行挿入時に下と同じ書式を適用する(ブック全シート-範囲指定)

各シートのRangeプロパティで値「”A2:C3″」とすることで、”A2:C3″を対象とします。
この場合、下と同じ書式を適用する対象は”A4:C4″の書式となります。

Sub 行挿入時に下と同じ書式を適用する_ブック全シート_範囲指定()

    Dim num As Integer
    
    'ブック全シートを対象に処理を繰り返す
    For num = 1 To Sheets.Count
        '各シートの"A2:C3"にセルを挿入し、下と同じ書式を適用する
        '結合されてるセルが含まれる場合は解除されるので注意
        Sheets(num).Range("A2:C3").Insert , CopyOrigin:=xlFormatFromRightOrBelow
    Next
    
End Sub

タカヒロ
タカヒロ
結果は上記と同じですが、この処理は行全体ではなく、指定したセルの範囲でセル挿入及び書式が適用されます。
なお、下に結合されてるセルが含まれる場合は結合が解除されるので注意してください。



VBAの実装手順

実装手順は以下の通りです。

今回はExcel側にこのVBAを実装します。

①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。

②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。

③右ペインのウインドウに上記のVBAを入力します。

こちらで完了です。

VBAを実行する

では早速VBAの実行をしてみましょう。

①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。

②処理がされたことが確認できれば完了です。
※完了メッセージやステータス管理など必要に応じて実装してもらえばと思います。


さいごに

いかがでしょうか。

今回は、
エクセルで行挿入時に下と同じ書式を適用する方法について
まとめました。

また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です