下まで一括コピーするマクロ
3行マクロ 27回
3行マクロ下まで一括コピー~ セル範囲の下方向に複写する
たとえ、簡単な操作であっても、量が多いと大変で、精神的な疲労もおおきいものです。
範囲が固定している場合は、Rangeを指定すればいいので、簡単ですけれども範囲が変化する場合を考えて、 最終行を取得してその その範囲までコピーするというようなコードに書き換えたいと思います。
3行マクロは、単純な繰り返しの作業に効果絶大であなたの疲労軽減に役にたつことでしょう。
(サンプルファイルは、こちらから 3行マクロ27回サンプルデータ)
Excelバージョン:
範囲の下まで一括コピー
本日使うのは、FillDown メソッド
指定された範囲の上端に位置する 1 つまたは複数のセルを下方向に複写します。複写される行にあるセルの内容と書式が範囲内の残りのセルに複写されます。
指定された範囲の上端に位置する 1 つまたは複数のセルを下方向に複写します。複写される行にあるセルの内容と書式が範囲内の残りのセルに複写されます。
たとえば、大量のシートがあって、特定の範囲を下までコピーする必要が有る場合などは、マクロを利用すると圧倒的に早くコピーできます。


コードは、たった1行です。

Sub 下まで一括コピー() Range("C3:D12").FillDown End Sub

実行すると、一気にコピーします。


範囲を指定する時は、コピー元の行も含めます。


内容だけでなく、書式もコピーします。


書式も同様にコピーします。


最終行を取得して範囲の下まで一括コピー
こんどは最終行を取得して、その範囲までコピーするというようなコードに書き換えたいと思います。


書き換えたコードは以下のように、最終行取得するために変数を宣言して、その変数に行番号が入るようにしています。
Sub 最終行取得して一括コピー() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row '上方向に最終行を検索する Range("C3:D" & LastRow).FillDown End Sub
それではこのマクロを実行しましょう。


最終行をB列で取得して、先頭行を最後までコピーできました。


今日の講義は以上です。お疲れ様でした。