excel自动填充每隔三列

时间:2018-02-09 18:56:28

标签: excel excel-vba vba

我正在使用Excel中的产品规格表。每个规格由三列组成:例如,列A为500,列B为码,最后在列C I测试中,设置列A,然后将它们组合成“500码”。 C列用于产品规格。如F列,I等等。

现在我知道我可以使用自动填充来填充整个C列,但是必须手动为每个第三列执行此操作吗?

所以我正在寻找的是一种在每三列自动使用自动填充的方法。

1 个答案:

答案 0 :(得分:2)

此代码假设您在第2行的每个第3列都有公式(您希望自动填充列)。

Sub Autofill_every_nth_column()
Dim RangeToFill As String

For i = 3 To 150 Step 3 'start from column 3 (i.e. column "C") and loop to column 150 (i.e. column "ET"). After every loop it jump 3 columns. So first loop it will autofill Column C, then autofill Column F etc.

    RangeToFill = Range(Cells(2, i), Cells(2, i)).Select 'Cell formula is located. This mean at Row 2 and column i, where i is the number the loop is at
    Selection.AutoFill Destination:=Range(Cells(2, i), Cells(200, i)) 'Autofill formula from row 2 to row 200.

    Next 'Jump to next loop.

End Sub

我写了一些评论,所以你希望可以为你的目的修改它。请记住,如果单元格中存在值,则Excel中的自动填充功能仅自动填充。所以,即使你表达:

Destination:=Range(Cells(2, i), Cells(200, i)) 'Autofill formula from row 2 to row 200.

它只会循环到有值的最后一行(最多到第200行)。