VBA|Range|FillDown|指定範囲の上端セルの内容や式を下方向に埋める
基本構文
Range.FillDown・対象Range:上端(1行目)の値/式を、範囲の下側へ埋める範囲(1列以上、2行以上が基本)
・戻り値の型・性質:
○Variant 型(処理結果。通常は戻り値を使用しない)
○上端セル(または上端行)の内容/式を下方向へフィルする
サンプルコード
サンプル①:A1の式を最終行まで埋める
役割:A列の先頭にある式を下まで展開する
理由:ループで式を入れずに一括で埋めるため
注意:対象範囲が1セルだと“埋め先”が無く効果がない
Sub Sample_FillDown_ColumnA()
With Worksheets("aaa")
Dim lastRow As Long
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
' A1 の内容/式を A列最終行まで埋める
.Range("A1:A" & lastRow).FillDown
End With
End Subサンプル②:1行目(A1:D1)を下へ埋める
役割:先頭行の式や値を、同じ列範囲で下へ展開する
理由:複数列をまとめて埋められるため
注意:範囲は「元(1行目)+埋め先(2行目以降)」を含めて指定する
Sub Sample_FillDown_MultiColumns()
With Worksheets("aaa")
Dim lastRow As Long
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
' 1行目(A1:D1)を lastRow まで埋める
.Range("A1:D" & lastRow).FillDown
End With
End Sub備考
・FillDown は“フィル”動作のため、式の相対参照が自然に展開される。
・罫線や書式も含めて揃えたい場合は CopyDown を使う選択肢もある。
・1セルだけに対して FillDown しても変化しない。
いいなと思ったら応援しよう!
技術メモや学習の整理として書いています。
もし内容が役に立ったり、続きを読みたいと思っていただけたら、
応援として受け取らせてもらえたら嬉しいです。