関数・メソッド

連続した値を自動で入力する【AutoFillメソッド】【ExcelVBA】

AutoFillメソッドとは

指定したセル範囲に連続した値を自動で入力してくれる機能です。
規則性のある値を入力したいときは、時短になってかなり便利ですね。

構文
Object.AutoFill(Destination,Type)

Object Rangeオブジェクトを表す変数です。
Destination オートフィルの書き込み先になる Range オブジェクトを指定します。
基準となるデータの入ったセル範囲も含むようにします。必須。
Type XlAutoFillType を使ってオートフィルの種類を指定します。
XlAutoFillType 説明
xlFillDefault 0 値と形式をExcelが自動で判定します。
xlFillCopy 1 指定した範囲の値をコピーします。
xlFillSeries 2 連続した数値を適用します。
xlFillFormats 3 値から形式のみをコピーします。
xlFillValues 4 値のみをコピーします。
xlFillDays 5 曜日名を連続して適用します。
xlFillWeekdays 6 平日のみを連続して適用します。
xlFillMonths 7 月の名前を連続して適用します。
xlFillYears 8 年を連続して適用します。
xlLinearTrend 9 数値が加算されていると推定して、連続した値を適用します。
xlGrowthTrend 10 数値が乗算されていると推定して、連続した値を適用します。
xlFlashFill 11 前のユーザーアクションに基づいて、連続した値を適用します。

 

AutoFillの使用方法をいくつか抜粋したサンプルコード

Public Sub Sample()

  'A1の値の連番をA10まで入力
  Range("A1").Value = 1   'A1セルの値
  Range("A1").AutoFill Range("A1:A10"), xlFillSeries
  
  'B1の曜日から連続する曜日をB7まで入力
  Range("B1") = "月曜日"  'B1セルの値
  Range("B1").AutoFill Range("B1:B7"), xlFillDays

  'C1,C2が加算されていると推定して、2ずつ増えた数をC10まで入力
  Range("C1") = "3"  'C1セルの値
  Range("C2") = "5"  'C2セルの値
  Range("C1:C2").AutoFill Range("C1:C10"), xlLinearTrend

End Sub

 

関連記事

コメント