如何:自动用递增变化的数据填充范围
通过 Microsoft.Office.Interop.Excel.Range 对象的 AutoFill 方法,可以自动向工作表中的范围填充值。 AutoFill 方法通常用于向一个范围中增量存储递增或递减的值。 可以通过提供 XlAutoFillType 枚举中的可选常数来指定行为。
**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能。
使用 AutoFill 时必须指定两个范围:
调用 AutoFill 方法的范围,此范围指定填充的起始点并且包含一个初始值。
要填充的范围,作为参数传递给 AutoFill 方法。 目标范围必须包括包含初始值的范围。
提示
不能传递 Microsoft.Office.Tools.Excel.NamedRange 控件替换 Microsoft.Office.Interop.Excel.Range。 有关更多信息,请参见宿主项和宿主控件的编程限制。
示例
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", missing);
rng.AutoFill(this.Application.get_Range("B1","B5"),
Excel.XlAutoFillType.xlFillWeekdays);
rng = this.Application.get_Range("C1", missing);
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);
}
编译代码
要填充的范围的第一个单元格必须包含初始值。
此示例要求填充三个区域:
列 B 将包含 5 个工作日。 请在 B1 单元格中键入“Monday”作为初始值。
列 C 将包含 5 个月份。 请在 C1 单元格中键入“January”作为初始值。
列 D 将包含一系列数字,每行依次递增 2。 请在 D1 单元格中键入“4”,在 D2 单元格中键入“6”,并将这两个值作为初始值。