Range.AutoFill メソッド

本ページには広告が含まれています。

指定された対象セル範囲内のセルに対してオートフィルを実行します。

構文
Range.AutoFill( Destination, Type )
引数
Destination 省略可
オートフィルの書き込み先になるRangeオブジェクトを指定します。基準となるデータの入ったセル範囲も含むようにします。
Type 省略可
オートフィルの種類を指定します。
戻り値

Range オブジェクトを返すメソッド・プロパティ

Range オブジェクト
セル、行、列、連続した1つ以上のセル範囲を表します。
Application.ActiveCell プロパティ
セルまたはセル範囲を表すRangeオブジェクトを返します。
Application.Cells プロパティ
作業中のワークシートのすべてのセルを表すRange オブジェクトを返します。
Range.AutoFill メソッド
セル、行、列、連続した1つ以上のセル範囲を表します。
Application.Selection プロパティ
Applicationオブジェクトのアクティブなワークシートで現在選択されているオブジェクトを返します。
Range.AutoFill メソッド
指定した条件に一致する最初のセルを検索します。
Range.AutoFill メソッド
Findメソッドによって開始された検索を続行します。前回の検索条件に一致するセルを、下方向(行のときは左から右、列のときは上から下)に検索し、見つかったセル(Rangeオブジェクト)を返します。選択範囲やアクティブセルには影響はありません。
Range.AutoFill メソッド
範囲内のセルから特定の条件に一致するRange オブジェクトを返します。条件は、セルの種類(数値、テキスト、エラーなど)やセルの状態(空白、定数、数式など)に基づいて指定することができます。
Range.AutoFill メソッド
指定した範囲の列を表すRange オブジェクトを返します。
Range.AutoFill メソッド
現在の領域を表すRange オブジェクトを返します。
Range.AutoFill メソッド
対象セル範囲の領域における終端のRange オブジェクトへの参照を返します。
Range.AutoFill メソッド
指定された範囲を含む1つまたは複数の列全体を表すRange オブジェクトを返します。読み取り専用です。
Range.AutoFill メソッド
指定されたセル範囲を含む行全体を表すRange オブジェクトを返します。読み取り専用です。
Range.AutoFill メソッド
指定したセル範囲のオフセット値で指定される範囲を表すRange オブジェクトを返します。
Range.AutoFill メソッド
指定された範囲からオフセットした範囲を表すRange オブジェクトを返します。
Range.AutoFill メソッド
指定された範囲のサイズを変更します。サイズが変更されたセル範囲を表すRange オブジェクトを返します。
Range.AutoFill メソッド
指定した範囲の行を表すRange オブジェクトを返します。
Worksheet.Range プロパティ
セル、行、列、連続した1つ以上のセル範囲を表します。

定数一覧

XlAutoFillType 列挙

名前説明
xlFillDefault0Excel が決定(既定値)
xlFillCopy1値と形式
xlFillSeries2連続する数値
xlFillFormats3書式のみ
xlFillValues4値のみ
xlFillDays5曜日名
xlFillWeekdays6平日の名前
xlFillMonths7
xlFillYears8
xlLinearTrend9加算による連続データ
xlGrowthTrend10乗算による連続データ
xlFlashFill11前のユーザーアクションの検出された
パターンに基づいた値(Excel 2013 以降)
UWSC
CONST xlFillDefault = 0
CONST xlFillCopy = 1
CONST xlFillSeries = 2
CONST xlFillFormats = 3
CONST xlFillValues = 4
CONST xlFillDays = 5
CONST xlFillWeekdays = 6
CONST xlFillMonths = 7
CONST xlFillYears = 8
CONST xlLinearTrend = 9
CONST xlGrowthTrend = 10
CONST xlFlashFill = 11

プログラム実行例

ユーザー設定リストを作成(都道府県)

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

DIM array[] = "北海道", "青森県", "岩手県", "宮城県", "秋田県", "山形県", "福島県", "茨城県", "栃木県", "群馬県", + _
				"埼玉県", "千葉県", "東京都", "神奈川県", "新潟県", "富山県", "石川県", "福井県", "山梨県", "長野県", + _
				"岐阜県", "静岡県", "愛知県", "三重県", "滋賀県", "京都府", "大阪府", "兵庫県", "奈良県", "和歌山県", + _
				"鳥取県", "島根県", "岡山県", "広島県", "山口県", "徳島県", "香川県", "愛媛県", "高知県", "福岡県", + _
				"佐賀県", "長崎県", "熊本県", "大分県", "宮崎県", "鹿児島県", "沖縄県"

Excel.AddCustomList(SLICE(array))

WITH Excel.Range("A1")
	.Value = array[0]
	.AutoFill(.Resize(47))
ENDWITH

//Excel.Quit
使用関数

ユーザー設定リストを作成(十干十二支)

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

DIM array[] = "甲子", "乙丑", "丙寅", "丁卯", "戊辰", "己巳", "庚午", "辛未", "壬申", "癸酉", + _
				"甲戌", "乙亥", "丙子", "丁丑", "戊寅", "己卯", "庚辰", "辛巳", "壬午", "癸未", + _
				"甲申", "乙酉", "丙戌", "丁亥", "戊子", "己丑", "庚寅", "辛卯", "壬辰", "癸巳", + _
				"甲午", "乙未", "丙申", "丁酉", "戊戌", "己亥", "庚子", "辛丑", "壬寅", "癸卯", + _
				"甲辰", "乙巳", "丙午", "丁未", "戊申", "己酉", "庚戌", "辛亥", "壬子", "癸丑", + _
				"甲寅", "乙卯", "丙辰", "丁巳", "戊午", "己未", "庚申", "辛酉", "壬戌", "癸亥"

Excel.AddCustomList(SLICE(array))

WITH Excel.Range("A1")
	.Value = array[0]
	.AutoFill(.Resize(60))
ENDWITH

//Excel.Quit
使用関数

ユーザー設定リストを作成(12星座)

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

DIM array[] = "おひつじ座", "おうし座", "ふたご座", "かに座", "しし座", "おとめ座", "てんびん座", "さそり座", "いて座", "やぎ座", "みずがめ座", "うお座"
// DIM array[] = "牡羊座", "牡牛座", "双子座", "蟹座", "獅子座", "乙女座", "天秤座", "蠍座", "射手座", "山羊座", "水瓶座", "魚座"

Excel.AddCustomList(SLICE(array))

WITH Excel.Range("A1")
	.Value = array[0]
	.AutoFill(.Resize(12))
ENDWITH

//Excel.Quit
使用関数

1〜12月の連続データを作成*

UWSC
WITH Excel.Range("A1")
	.Value = "1月"
	.AutoFill(.Resize(12))
ENDWITH
使用関数

コロナのグラフ

UWSC
CONST xlDown = -4121
CONST xlColumnClustered = 51
CONST xlCategory = 1
CONST xlValue = 2
CONST xlLine = 4
CONST msoThemeColorText2 = 15
CONST msoThemeColorBackground1 = 14

DIM Excel = CREATEOLEOBJ("Excel.Application")

WITH Excel
	.Visible = TRUE
	.Workbooks.Open("D:\Downloads\covid19_data.csv")

	DIM ws = .ActiveSheet
	DIM ws2 = .Worksheets.Add(EMPTYPARAM, .Worksheets(.Worksheets.Count))
	ws2.Name = "7日間平均"
	ws.Range("1:1").Copy(ws2.Range("1:1"))
	ws.Range("A:D").Copy(ws2.Range("A:D"))
	ws.Range("W:AB").Copy(ws2.Range("W:AB"))
	ws2.Range("E8").Value = "=INT(SUM(covid19_data!E2:E8)/7)"
	ws2.Range("E8").AutoFill(ws2.Range("E8:V8"))
	DIM lastRow = ws.Range("B2").End(xlDown).Row	
	ws2.Range("E8:V8").AutoFill(ws2.Range("E8:V" + lastRow))

	DIM Chart

	// 検査数
	Chart = .Charts.Add
	.ActiveSheet.Move(EMPTYPARAM, .Sheets(.Sheets.Count))
	.ActiveSheet.Name = "検査数"

	WITH Chart
		.ChartType = xlColumnClustered
		.SetSourceData(ws.Range("covid19_data!$E:$E"))
	
		WITH .SeriesCollection(1)
			.Name = "日検査数"
			.XValues = "covid19_data!$Y2:$Y" + lastRow
			WITH .Format.Line
				.ForeColor.ObjectThemeColor = msoThemeColorText2
				.ForeColor.TintAndShade = 0
				.ForeColor.Brightness = 0.6000000238
				.Transparency = 0
			ENDWITH
		ENDWITH

		WITH .Axes(xlCategory)
			.MinimumScale = dateSerial(2020, 1, 1)		//43831
			.MajorUnit = 4
			.TickLabels.Font.Size = 14
		ENDWITH
	
		WITH .Axes(xlValue)
			.HasMajorGridLines = TRUE
			.HasMinorGridLines = TRUE
			.MinimumScale = 0
			.MajorUnit = 5000
			.MinorUnit = 1000
			.TickLabels.Font.Size = 14
		ENDWITH
	ENDWITH	

	// 陽性数
	Chart = .Charts.Add
	.ActiveSheet.Move(EMPTYPARAM, .Sheets(.Sheets.Count))
	.ActiveSheet.Name = "陽性者数"

	WITH Chart
		.ChartType = xlColumnClustered
		.SetSourceData(ws.Range("covid19_data!$G2:$G" + lastRow))
		.SeriesCollection.NewSeries
		.SeriesCollection(2).Values = "='7日間平均'!$G2:$G" + lastRow

		// 日付
		WITH .SeriesCollection(1)
			.Name = "日陽性数"
			.XValues = "covid19_data!$Y2:$Y" + lastRow
			WITH .Format.Line
				.ForeColor.ObjectThemeColor = msoThemeColorText2
				.ForeColor.TintAndShade = 0
				.ForeColor.Brightness = 0.6000000238
				.Transparency = 0
			ENDWITH
		ENDWITH
	
		// 7日間平均
		WITH .SeriesCollection(2)
			.Name = "7日間平均"
			.ChartType = xlLine
			.Format.Line.ForeColor.RGB = RGBToColor(0, 112, 192)
		ENDWITH
	
		// x軸
		WITH .Axes(xlCategory)
			.MinimumScale = dateSerial(2020, 1, 1)		//43831
			.MajorUnit = 4
			.TickLabels.Font.Size = 14
		ENDWITH
	
		// y軸
		WITH .Axes(xlValue)
			.HasMajorGridLines = TRUE
			.HasMinorGridLines = TRUE
			.MinimumScale = 0
			.MajorUnit = 5000
			.MinorUnit = 1000
			.TickLabels.Font.Size = 14
		ENDWITH
	ENDWITH

	// 死亡数
	Chart = .Charts.Add
	.ActiveSheet.Move(EMPTYPARAM, .Sheets(.Sheets.Count))
	.ActiveSheet.Name = "死亡数"
	
	WITH Chart
		.ChartType = xlColumnClustered
		.SetSourceData(ws.Range("covid19_data!$O2:$O" + lastRow))
		.SeriesCollection.NewSeries
		.SeriesCollection(2).Values = "='7日間平均'!$O2:$O" + lastRow

		WITH .SeriesCollection(1)
			.Name = "日死亡数"
			.XValues = "covid19_data!$Y2:$Y" + lastRow
			WITH .Format.Line
				.ForeColor.ObjectThemeColor = msoThemeColorBackground1
				.ForeColor.TintAndShade = 0
				.ForeColor.Brightness = -0.150000006
				.Transparency = 0
			ENDWITH
		ENDWITH

		WITH .SeriesCollection(2)
			.Name = "7日間平均"
			.ChartType = xlLine
			WITH .Format.Line
				.Weight = 2.5
				.Transparency = 0
				.ForeColor.ObjectThemeColor = msoThemeColorBackground1
				.ForeColor.TintAndShade = 0
				.ForeColor.Brightness = -0.5
			ENDWITH
		ENDWITH	

		WITH .Axes(xlCategory)
			.MinimumScale = dateSerial(2020, 1, 1)		//43831
			.MajorUnit = 4
			.TickLabels.Font.Size = 14
		ENDWITH

		WITH .Axes(xlValue)
			.HasMajorGridLines = TRUE		// 軸あり
			.HasMinorGridLines = TRUE		// 目盛線あり
			.MinimumScale = 0				// 最小値
			.TickLabels.Font.Size = 14		// フォントサイズ
		ENDWITH
	ENDWITH

	// 死亡累計
	Chart = .Charts.Add
	.ActiveSheet.Move(EMPTYPARAM, .Sheets(.Sheets.Count))
	.ActiveSheet.Name = "死亡累計"
	
	WITH Chart
		.ChartType = xlColumnClustered
		.SetSourceData(ws.Range("covid19_data!$P2:$P" + lastRow))
				
		WITH .SeriesCollection(1)
			.Name = "死亡累計"
			.XValues = "covid19_data!$Y2:$Y" + lastRow
			WITH .Format.Line
				.ForeColor.ObjectThemeColor = msoThemeColorBackground1
				.ForeColor.TintAndShade = 0
				.ForeColor.Brightness = -0.150000006
				.Transparency = 0
			ENDWITH
		ENDWITH
		
		WITH .Axes(xlCategory)
			.MinimumScale = dateSerial(2020, 1, 1)		//43831
			.MajorUnit = 4
			.TickLabels.Font.Size = 14
		ENDWITH

		WITH .Axes(xlValue)
			.HasMajorGridLines = TRUE		// 軸あり
			.MinimumScale = 0				// 最小値
			.TickLabels.Font.Size = 14		// フォントサイズ
		ENDWITH

		.ChartTitle.Delete

	ENDWITH

ENDWITH
使用関数

関連記事

Range オブジェクト
セル、行、列、連続した1つ以上のセル範囲を表します。
Application.ActiveCell プロパティ (Excel)
セルまたはセル範囲を表すRangeオブジェクトを返します。
Application.Cells プロパティ (Excel)
作業中のワークシートのすべてのセルを表すRange オブジェクトを返します。
Range.Activate メソッド (Excel)
1つのセルをアクティブにします。セルは現在の選択範囲内にある必要があります。セルの範囲を選択するには、Selectメソッドを使用します。
Range.AutoFilter メソッド (Excel)
オートフィルターを使ってリストをフィルター処理します。
Range.ClearComments メソッド (Excel)
指定されたセル範囲からすべてのコメントを消去します。
Range.ClearHyperlinks メソッド (Excel)
指定された範囲からすべてのハイパーリンクを削除します。
Range.Copy メソッド (Excel)
範囲を、指定の範囲またはクリップボードにコピーします。
Range.DiscardChanges メソッド (Excel)
編集されたセル範囲内のすべての変更を破棄します。
Range.NumberFormatLocal プロパティ (Excel)