Excel VBA自动填充未填充第一行和第一列

Posted

技术标签:

【中文标题】Excel VBA自动填充未填充第一行和第一列【英文标题】:Excel VBA Autofill not populating first row and column 【发布时间】:2020-01-03 18:14:28 【问题描述】:

我需要将公式从一个单元格复制到一个单元格块中。我曾尝试使用 AutoFill,它在一定程度上有效,但它不会填充第一行或第一列。

我在 C4 中的公式应该复制到整个 C4:X12 块中。 (在现实生活中,它是求和积。)

Sub GetUniqueLocationsTEST()
    Dim LastRow As Long
    Dim LastCol As Long

    With thisWorkbook.Worksheets("sheet2")
        LastRow = .Cells(.Rows.Count, "B").End(xlUp).row
        LastCol = .Cells(3, .Columns.Count).End(xlToLeft).Column
        .Range("C4").formula = "=1+1"
        .Range("C4").AutoFill Destination:=.Range("C4:X12") ', .Cells(LastRow, LastCol))
    End With
End Sub

导致 C4 显示“2”,范围 D5:X12 正确显示“2”。 但是 D4:X4 和 C5:C12 是空白的 - 那里没有复制任何内容!如果我将其他随机文本放入这些单元格中,则在 Sub 运行后它仍然存在。

在示例代码中,您会看到我什至将目标范围强制为文字。

也许自动填充不是正确的方法?我应该使用复制吗?还是别的什么?

【问题讨论】:

【参考方案1】:

您可能不需要AutoFill。您可以一次性将公式写入整个范围,如果需要,Excel 会更新相关引用:

.Range("C4", .Cells(LastRow, LastCol)).Formula = your formula

【讨论】:

打败我;总是要补充说,在公式中使用固定和动态引用继续使用,例如,“B$2”将在一系列列上迭代输入,而输入时行不会改变在一系列行上。

以上是关于Excel VBA自动填充未填充第一行和第一列的主要内容,如果未能解决你的问题,请参考以下文章

Excel vba将公式从一列自动填充到Excel中的最后一列

Excel:在第一列输入值时自动填充(复制)整行

Excel VBA自动填充只返回公式

Vba 代码在单元格范围内复制特定值

VBA Excel 2010 - 自动填充不填充

第三列单元格应该是excel第一列和第二列中两个数字的乘积