Excelで表に行を挿入する時に下の行の書式を引き継ぎたいときがありますよね。
標準では上の行の書式が適用されますので、項目直下の行を挿入する場合は以下のようになってしまいます。
そんな中で悩むことは、
・ショートカットやVBAで効率的に行いたいがやり方がわからない。
ですよね。
今回はそんなお悩みを解決する
Excelで行挿入時に下と同じ書式を適用する方法について
まとめます!
もくじ
Excelで行挿入時に下と同じ書式を適用する基本操作
表の2行目の行を選択し、右クリック>[挿入]を選択します。
赤枠線内のアイコンをクリックし、[下と同じ書式を適用]を選択します。
3行目のの書式が適用されました。
Excelで行挿入時に下と同じ書式を適用するショートカット
ショートカットは以下の順序で実施します。
下と同じ書式を適用
追加したい行をクリックで選択
もしくは、
Shiftl + Space ※ひらがな入力モードだと機能しません。
Ctrl + +
Alt + メニューキー(キーボード右下のWindowsキー右隣の目のようなアイコンのキー)
Alt + ↓×2回
Enter
Excelで行挿入時に下と同じ書式を適用するVBA
ExcelVBAで行挿入時に下と同じ書式を適用する方法について説明します。
サンプルの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」をクリックし実行したいマクロを選択し、「実行」をクリックします。
②処理がされたことが確認できれば完了です。
※完了メッセージやステータス管理など必要に応じて実装してもらえばと思います。
さいごに
いかがでしょうか。
今回は、
Excelで行挿入時に下と同じ書式を適用する方法について
まとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す