注目キーワード
  1. VBA
  2. 関数
  3. ショートカット

セルや行・列の操作方法を知ろう!⑤

  • 2019年3月7日
  • 2019年3月15日
  • VBA
  • 1回
  • 1件
VBA NO IMAGE

①セル範囲に規則的なデータを入力する

セル範囲を指定して、その先頭のセルデータを範囲全体にコピーしたり、連続的なデータを入力したりする方法を紹介します。また、先頭の2つのセルを基準として、その差の分だけ自動的に増減するデータを入力することも可能です。

・基準のセルを範囲全体にコピーする

セル範囲の上端のセルの値と書式を、同じ列の下にあるすべてのセルにコピー(フィル)します。その範囲を表すRangeオブジェクトのFillDownメソッドを使用するのが簡単です。

・実行結果

・その他の方向にフィルする

Fillメソッド 方向
FillDown 上端を下方向
FillUp 下端を上方向
FillLeft 左端を右方向
FillRight 右端を左方向

・連続データを入力する

先頭のセルの範囲が1つずつ増加していく連続データをフィルするには、基準となるセルを表すRangeオブジェクトのAutoFillメソッドで、引数Destinationに入力範囲を表すRangeオブジェクトを、引数TypeにxlFillSeriesを指定します。

・実行結果

 

・2つのセルを基準に連続データを入力する

先頭の2つのセルに数値を入力し、これからのセルを基準としてオートフィルの操作を行うと、その2つの数値の差の分だけ増減していく連続データを入力します。AutoFillメソッドの引数Typeは定数xlFiddDefaultを指定するか、省略します。

・実行結果

 

②規則を指定して連続データを入力する

上記ではフィル関連の基本的な機能を紹介しましたが、さらに細かい規則を設定して、セル範囲に連続データを入力することもできます。ここでは、増加する単位や増減する量、最後の値を指定して連続データを入力することも可能です。

・日付を月単位で入力する

「日」は基準のセルと同じ20日で、「月」が1カ月ずつ変化していくような日付の連続データをセル範囲に入力するには、RangeオブジェクトのAutoFillメソッドで、引数Typeに定数xlFillMonthsを指定します。

・実行結果

・AutoFillメソッドの引数Typeの指定値

定数 フィルの内容
xlFillDefault オートフィル(省略)
xlFillSeries 連続データ
xlFillCopy セルのコピー
xlFillValues 書式なしのコピー
xlFillFormats 書式のみコピー
xlLinearTrend 加算
xlGrowthTrend 乗算
xlFillYears 年単位
xlFillMonths 月単位
xlFillDays 日単位
xlFillWeekdays 週日単位

 

・増減量を指定して連続データを入力する

RangeオブジェクトのDataSeriesメソッドでも、対象の範囲の先頭のセルから始まる連続データを、以降のセル範囲に入力できます。このメソッドでは、データが増減する量を、引数Stepで直接指定できます。また、フィルするデータの種類を引数TypeにxlDataSeriesLinear(加算)、xlGrowth(乗算)、xlChronological(日付)、xlAutoFill(オートフィル)のいずれかの定数を指定します。省略した場合は加算になります。xlChronologicalを指定した場合は、引数DateにxlDay(日)、xlWeekday(週日)、xlMonth(月)、xlYear(年)のいずれかの定数を指定できます。

・実行結果

 

・終了値を指定して連続データを入力する

連続データは通常、対象のセル範囲のすべてのセルに入力されますが、指定した値が入力されたところで、それ以降の入力を打ち切ることができます。終了値は、DataSeriesメソッドの引数Stopに指定します。

次のステップへ:ExcelVBA【セルや行・列の操作方法】⑥

Excelマクロ&VBAをマスターしよう!一覧へ

NO IMAGE
最新情報をチェックしよう!