Excel VBA 連続データを作成するAutoFillメソッド

スポンサーリンク

AutoFill【オートフィル】メソッド

Excelでセルの連続データを作成するオートフィル機能をVBAで利用するには、Range【レンジ】オブジェクトのAutoFill【オートフィル】メソッドを使用します。

AutoFill【オートフィル】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.AutoFill( Destination[,Type ])

  • オブジェクト(必須)
    連続データやコピーの基準となる値が入力されているセルやセル範囲をRange【レンジ】オブジェクトで指定します。
  • Destination【デスティネーション】(必須)
    オートフィルの書き込み先のセル範囲をRange【レンジ】オブジェクトで指定します。※このとき必ずオブジェクトで指定した基準となるセルを含めます。
  • Type【タイプ】(省略可)
    オートフィルのタイプをxlAutoFillType列挙型の定数または値で指定します。

    xlAutoFillType列挙型
    定数 内容
    xlFillDefault【フィルデフォルト】 0 標準のオートフィル(既定値)
    xlFillCopy【フィルコピー】 1 コピー
    xlFillSeries【フィルシリーズ】 2 連続データ
    xlFillFormats【フィルフォーマッツ】 3 書式のみコピー
    xlFillValues【フィルバリュー】 4 値のみコピー
    xlFillDays【フィルデイズ】 5 曜日単位の連続データ
    xlFillWeekdays【フィルウィークデイズ】 6 平日(土日を除く)の連続データ
    xlFillMonths【フィルマンス】 7 月単位の連続データ
    xlFillYears【フィルイヤーズ】 8 年単位の連続データ
    xlLinearTrend【ライナートレンド】 9 加算
    xlGrowthTrend【グロウストレンド】 10 乗算
    xlFlashFill【フラッシュフィル】 11 フラッシュフィル

AutoFill【オートフィル】メソッドで日付の連続データをセルに設定するコードと解説

Sub オートフィル()
With Range("A1")
    .NumberFormatLocal = "mm/dd(aaa)"
    .Value = "1/1"
    .AutoFill Range("A1:L1"), xlFillMonths
end With
Range("A1:L1").AutoFill Range("A1:L31"), xlFillDays
End Sub
2行目【With Range(“A1”)】
A1セルをWith【ウィズ】ステートメントで指定します。


3行目【.NumberFormatLocal = “mm/dd(aaa)”】
With【ウィズ】ステートメントで指定したA1セルにセルの表示形式を設定するRange【レンジ】オブジェクトのNumberFormatLocal【ナンバーフォーマットローカル】プロパティを使用して「月/日(曜日)」の表示形式を設定します。


4行目【.Value = “1/1″】
With【ウィズ】ステートメントで指定したA1セルに値を設定するRange【レンジ】オブジェクトのValue【バリュー】プロパティを使用して文字列の「1/1」を設定します。


5行目【.AutoFill Range(“A1:L1”), xlFillMonths】
With【ウィズ】ステートメントで指定したA1セルを基準としてAutoFill【オートフィル】メソッドを実行します。書き込み先を表す引数Destination【デスティネーション】にはA1セルからL1セルを指定し、オートフィルのタイプを指定するType【タイプ】には月単位の連続データを表す定数を指定して1行目のセルに1月から12月の連続データを作成します。


7行目【Range(“A1:L1”).AutoFill Range(“A1:L31”), xlFillDays】
6行目で作成した月単位の連続データが設定されているA1セルからL1セルのセル範囲にAutoFill【オートフィル】メソッドを実行します。書き込み先を表す引数Destination【デスティネーション】にはA1セルからL31セルを指定し、オートフィルのタイプを指定するType【タイプ】には日単位の連続データを表す定数を指定して日付の連続データを作成します。


実行結果

AutoFill【オートフィル】メソッドを使用したコード例リンク

データの最終行・列にSUM関数で合計を挿入する
日付データを年・月・日で数値または文字列として分割する


以上で、連続データを作成するAutoFillメソッドについての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告