VBA自动填充(分步指南)|在Excel VBA中使用自动填充的示例

Excel VBA中的自动填充功能是什么?

我们已经在工作表中看到了自动填充功能,其中根据其上方的先前单元格中的值自动填充了单元格,我们可以使用VBA,以便excel为我们完成任务,为此,我们使用Selection.Autofill方法,并目的地,即需要填充值的单元格。

当我们需要将第一个单元格的公式填充到该列的单元格时,VBA自动填充的最佳用途就出现了。我们通常在第一个单元格中应用公式,或者将其复制并粘贴到最后一个单元格中,或者通过双击小箭头键自动填充。在excel中使用自动填充的另一个最佳示例是当我们需要插入序列号时。我们通常会键入前三个数字,然后向下拖动直到所需的最后一个单元格。

在VBA中,我们也可以执行AutoFill方法的任务。在本文中,我们将向您展示如何使用自动填充方法以及编写代码的方法。现在,我们将看到如何在VBA编码中使用此工具。

如何在VBA中使用自动填充?

要在VBA中使用自动填充功能,我们需要了解自动填充方法的语法。以下是自动填充的语法。

  • 范围(“ A1”): 哪些单元格可以识别填充序列的模式。
  • 目的地: 直到要继续填充序列模式的单元格为止。在这里,我们需要提及所有范围的单元格。
  • 键入为xlAutoFillType: 在这里,我们可以选择系列填充类型。以下是此参数中的项目列表– xlFillCopy,xlFillDays,xlFillDefault,xlFillFormats,xlFillMonths,xlFillSeries,xlFillValues,xlFillWeekdays,xlFillYears,xlFlashFill,xlGrowthTrend,xlLinearTrend。

Excel VBA中的自动填充示例

我们来看看excel中VBA自动填充的一些简单到高级的示例。

Example#1 – xlFillDefault

首先,在前三个单元格中输入3个序列号。

在VBA子过程中,将VBA范围称为Range(“ A1:A3”)

代码:

 Sub AutoFill_Example1()范围(“ A1:A3”)。结束子 

现在访问自动填充方法。

输入目标作为范围(“ A1:A10”)

代码:

Range(“ A1:A3”)。自动填充目标:= Range(“ A1:A10”) 

选择类型为 xlFillDefault.

代码:

Range(“ A1:A3”)。AutoFill目的地:= Range(“ A1:A10”),类型:= xlFillDefault 

现在运行代码,我们将获得从1到10的序列号。

由于我们将结束目标单元格标记为A10并已在此处停止,因此我们可以将目标单元格输入为excel的最后一个单元格。

Example#2 – xlFillCopy

对于相同的数字,我们将使用以下类型: xlFillCopy。

代码:

 Sub AutoFill_Example1()Range(“ A1:A3”)。AutoFill目的地:= Range(“ A1:A10”),类型:= xlFillCopy End Sub 

我将前三个单元格的副本复制到其余单元格中。

Example#3 – xlFillMonths

对于此示例,我在前三个单元格中输入了前三个月。

将自动填充类型更改为 xlFillMonths。

代码:

 Sub AutoFill_Example1()Range(“ A1:A3”)。AutoFill目的地:= Range(“ A1:A10”),类型:= xlFillMonths End Sub 

这将填充月份系列。

Example#4 – xlFillFormats

对于此示例,我输入了数字并将格式应用于这些单元格。

现在,我将类型更改为 xlFillFormats。

代码:

 Sub AutoFill_Example1()Range(“ A1:A3”)。AutoFill目标:= Range(“ A1:A10”),类型:= xlFillFormats End Sub 

运行此代码,看看会发生什么。

它已将前三个单元格的格式填充为接下来的三个单元格,然后又填充了接下来的三个单元格,依此类推。

Example#5 – xlFlashFill

对于此示例,我已经输入了从单元格A1到A10的一些值,如下图所示。

从此列表中,我想提取数字部分。为了告诉excel模式,我将在第一个单元格中手动输入第一个单元格的数字部分。

现在,我将像往常一样编写代码并将类型更改为 xlFlashFill。 这次我们将使用B列范围。

代码:

 Sub AutoFill_Example1()Range(“ B1”)。AutoFill目的地:= Range(“ B1:B10”),类型:= xlFlashFill End Sub 

如果我运行此代码,我们将得到如下所示的结果。

这是VBA自动填充方法的概述。希望您喜欢它。

您可以从此处下载此VBA AutoFill Excel模板– VBA AutoFill Excel模板