3行マクロ~下まで一括コピー セル範囲の下方向に複写する

下まで一括コピーするマクロ

コピーなどはかんたんな操作ですが、量が多かったり、表が大きい場合は大変です。マクロで範囲の下まで一括コピーしましょう。
表の下まで一括コピーするマクロ

リンクユニット


3行マクロ 27回

3行マクロ下まで一括コピー~ セル範囲の下方向に複写する

たとえ、簡単な操作であっても、量が多いと大変で、精神的な疲労もおおきいものです。
範囲が固定している場合は、Rangeを指定すればいいので、簡単ですけれども範囲が変化する場合を考えて、 最終行を取得してその その範囲までコピーするというようなコードに書き換えたいと思います。
3行マクロは、単純な繰り返しの作業に効果絶大であなたの疲労軽減に役にたつことでしょう。
(サンプルファイルは、こちらから 3行マクロ27回サンプルデータ
Excelバージョン:Excel20192016201320102007

範囲の下まで一括コピー

本日使うのは、FillDown メソッド
指定された範囲の上端に位置する 1 つまたは複数のセルを下方向に複写します。複写される行にあるセルの内容と書式が範囲内の残りのセルに複写されます。
たとえば、大量のシートがあって、特定の範囲を下までコピーする必要が有る場合などは、マクロを利用すると圧倒的に早くコピーできます。
セル範囲の下方向にコピー1
コードは、たった1行です。
Sub 下まで一括コピー()
    Range("C3:D12").FillDown
End Sub
セル範囲の下方向にコピー2
実行すると、一気にコピーします。
セル範囲の下方向にコピー3
範囲を指定する時は、コピー元の行も含めます。
セル範囲の下方向にコピー4
内容だけでなく、書式もコピーします。
セル範囲の下方向にコピー5
書式も同様にコピーします。
セル範囲の下方向にコピー6

最終行を取得して範囲の下まで一括コピー

こんどは最終行を取得して、その範囲までコピーするというようなコードに書き換えたいと思います。
セル範囲の下方向にコピー5
書き換えたコードは以下のように、最終行取得するために変数を宣言して、その変数に行番号が入るようにしています。
Sub 最終行取得して一括コピー()
  Dim LastRow As Long
    LastRow = Range("B" & Rows.Count).End(xlUp).Row '上方向に最終行を検索する
    Range("C3:D" & LastRow).FillDown
End Sub
それではこのマクロを実行しましょう。
セル範囲の下方向にコピー5
最終行をB列で取得して、先頭行を最後までコピーできました。
セル範囲の下方向にコピー5
今日の講義は以上です。お疲れ様でした。