根据另一个单元格中的值自动填充 x 行的代码

Posted

技术标签:

【中文标题】根据另一个单元格中的值自动填充 x 行的代码【英文标题】:Code to autofill x number of rows based on a value from another cell 【发布时间】:2018-05-09 13:21:30 【问题描述】:

我有一个宏,它会根据另一个单元格中的值自动将工作表向下填充多行。

我的代码如下。目前它只会将系列自动填充到参考单元格中值的行号。 (基本上,如果我在引用的单元格上有数字 40,代码会自动填充到第 40 行,而不是我需要的 40 行)。

想知道是否有人可以在这里帮助我。

    Range("A8").Select
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("A8:A" & Range("J1").Value), Type:=xlFillSeries
    Range("A8:A104").Select

这是代码的一部分,之前的代码将一些其他信息复制到工作表中。

【问题讨论】:

如果你总是从 A8 开始并且你想填充接下来的 X 行,你可以做一个快速的脏 +8,它会按照你的要求做,如果你输入 20,它会做接下来的 20 行,如果你做 30 行,它会做接下来的 30 行:Selection.AutoFill Destination:=Range("A8:A" & Range("J1").Value + 8), Type:=xlFillSeries跨度> Ricardo - 见下文 Olly 给了我一些最适合我现有代码的代码,它很有效 - 感谢 cmets。 【参考方案1】:

像这样?

Option Explicit

Public Sub test()
    With ActiveSheet
       AutoFillRange .Range("A8"), Range("J1").Value
    End With
End Sub

Public Sub AutoFillRange(ByVal startCell As Range, ByVal numberOfRows As Long)
    startCell.AutoFill Destination:=startCell.Parent.Range(startCell, startCell.Offset(numberOfRows - 1)), Type:=xlFillSeries
End Sub

【讨论】:

QHarr - 下面的 Olly 给了我一些代码,这些代码更容易与我现有的代码相匹配,谢天谢地,它很有效。因此,我没有尝试您的代码,但可以再保留一天。感谢您的努力。 不用担心。上面的优点,供以后使用,是您可以重复使用具有不同起始单元格和不同单元格的相同子 (AutoFillRange) 以用于行计数。【参考方案2】:

试试:

Range("A8").AutoFill Destination:=Range("A8").Resize(Range("J1").Value,1), Type:=xlFillSeries

【讨论】:

Olly - 这是我尝试使用其他代码的最简单选择 - 非常感谢,因为这绝对是一种享受。

以上是关于根据另一个单元格中的值自动填充 x 行的代码的主要内容,如果未能解决你的问题,请参考以下文章

如何根据多个单元格中的值自动填充

EXCEL:使用与单元格中的数字匹配的自动填充数据/函数创建/删除行

根据另一个单元格的值自动填充单元格,不带公式

当另一个单元格的值发生变化时,一个单元格中的自动日期更新(通过公式计算)

根据另一个单元格值更改单元格范围

为啥我的自动填充代码在我没有为 VBA 引用的单元格中显示 #N/A?