VBA将公式填入列中的最后一行

Mat*_*TtT 13 excel vba formula

所以我正在开发一个项目,我正在尝试使用我的VBA代码来绘制单元格M3中一直到数据集末尾的公式.我使用L列作为我的基础来确定包含数据的最后一个单元格是什么.我的公式是两个单元格的连接,它们之间有一个文本逗号.所以在excel我的公式是= G3&","&L3

我想要excel来绘制这个公式,所以在单元格M4中它将是= G4&","&L4 Cell M5将是= G5&","&L5,依此类推.

我的代码看起来像:

Range("$M$3").Formula = Range("G3") & (",") & Range("L3")

Dim Lastrow As Long

Application.ScreenUpdating = False

Lastrow = Range("L" & Rows.Count).End(xlUp).Row
Range("M4").FormulaR1C1 = Range("G4") & (",") & Range("L4")
Range("M4").AutoFill Destination:=Range("M4:M" & Lastrow)
ActiveSheet.AutoFilterMode = False
Application.ScreenUpdating = True
Run Code Online (Sandbox Code Playgroud)

我的输出只是将单元格M3中的文本值一直向下拉到数据集的末尾.我已经搜索了几个小时试图寻找修复,但似乎找不到一个试图完成我想要的东西.

Sid*_*out 35

实际上它是一个班轮.无需使用.Autofill

Range("M3:M" & LastRow).Formula = "=G3&"",""&L3"
Run Code Online (Sandbox Code Playgroud)


小智 9

对于有类似问题的人,找到这篇文章(就像我一样); 如果您的数据集格式化为表格,即使没有lastrow也可以执行此操作.

Range("tablename[columnname]").Formula = "=G3&"",""&L3"
Run Code Online (Sandbox Code Playgroud)

使它真正的一个班轮.希望它可以帮到某人!


Ana*_*a 秀 9

或者,您可以使用FillDown

Range("M3") = "=G3&"",""&L3": Range("M3:M" & LastRow).FillDown
Run Code Online (Sandbox Code Playgroud)