方法: 増分するデータを範囲内にプログラムによって自動的に入力する
Microsoft.Office.Interop.Excel.Range オブジェクトの AutoFill メソッドを使用すると、ワークシート内の範囲に、値を自動的に入力できます。通常 AutoFill メソッドは、インクリメント方式で増加または減少する値を範囲に入力するために使用します。次に示す XlAutoFillType 列挙体の定数を与えて動作を指定することもできます。
対象: このトピックの情報は、Excel 2013 と Excel 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
AutoFill を使用する場合は、2 つの範囲を指定する必要があります。
AutoFill メソッドの呼び出し元の範囲。これは、入力を開始する場所を指定し、初期値を格納します。
データの入力先の範囲。これは、パラメーターとして AutoFill メソッドに渡されます。データの入力先の範囲には、初期値を格納する範囲も含まれます。
[!メモ]
Microsoft.Office.Interop.Excel.Range の代わりに、Microsoft.Office.Tools.Excel.NamedRange コントロールを渡すことはできません。詳細については、「ホスト項目およびホスト コントロールのプログラム上の制限事項」を参照してください。
使用例
Private Sub AutoFill()
Dim rng As Excel.Range = Me.Application.Range("B1")
rng.AutoFill(Me.Application.Range("B1:B5"), Excel.XlAutoFillType.xlFillWeekdays)
rng = Me.Application.Range("C1")
rng.AutoFill(Me.Application.Range("C1:C5"), Excel.XlAutoFillType.xlFillMonths)
rng = Me.Application.Range("D1:D2")
rng.AutoFill(Me.Application.Range("D1:D5"), Excel.XlAutoFillType.xlFillSeries)
End Sub
private void AutoFill()
{
Excel.Range rng = this.Application.get_Range("B1");
rng.AutoFill(this.Application.get_Range("B1","B5"),
Excel.XlAutoFillType.xlFillWeekdays);
rng = this.Application.get_Range("C1");
rng.AutoFill(this.Application.get_Range("C1","C5"),
Excel.XlAutoFillType.xlFillMonths);
rng = this.Application.get_Range("D1","D2");
rng.AutoFill(this.Application.get_Range("D1","D5"),
Excel.XlAutoFillType.xlFillSeries);
}
コードのコンパイル
入力対象範囲の最初のセルには、初期値を入力する必要があります。
例では、3 つの範囲に入力する必要があります。
列 B には、平日 5 日分の曜日が入力されます。初期値として、セル B1 に「Monday」と入力します。
列 C には、5 か月分の月が入力されます。初期値として、セル C1 に「January」と入力します。
列 D には、行単位で 2 つずつ増分する一連の数字が入力されます。初期値として、セル D1 に「4」と入力し、セル D2 に「6」と入力します。
参照
処理手順
方法: プログラムによってコード内でワークシートの範囲を参照する
方法: プログラムによってブック内の範囲にスタイルを適用する