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自动填充未填充第一行和第一列的主要内容,如果未能解决你的问题,请参考以下文章