Excel vba将公式从一列自动填充到Excel中的最后一列
Posted
技术标签:
【中文标题】Excel vba将公式从一列自动填充到Excel中的最后一列【英文标题】:Excel vba to autofill formulae from a column to last column in excel 【发布时间】:2017-07-03 09:41:58 【问题描述】:我确实有一个宏,它在 N2 单元格中添加公式并自动填充到工作表的最后一行。
Sub Formulae_to_find_EachFeatureCount()
Dim LastRow As Long
LastRow = Range("G" & Rows.Count).End(xlUp).Row
Range("N2").Select
ActiveCell.FormulaR1C1 = "=COUNTIFS(C2,R1C,C1,RC7)"
Range("N2").Select
Selection.AutoFill Destination:=Range("N2:N" & LastRow), Type:=xlFillDefault
' Range("N2:N10").Select
End Sub
我还可以使用以下代码找到最后一列(列名和编号):
Dim LastColumn As Integer
'Search for any entry, by searching backwards by Columns.
LastColumn = Cells.Find(What:="*", After:=[A1], _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
LastCol = Replace(Cells(1, LastColumn).Address(False, False), "1", "")
现在我想将公式从 N 列自动填充到最后一个(使用过的)列。
【问题讨论】:
遍历列并填充第一个单元格,最后一次性使用自动填充 【参考方案1】:我猜这就是你要找的东西:
Sub Formulae_to_find_EachFeatureCount()
Dim LastRow As Long
LastRow = Range("G" & Rows.Count).End(xlUp).Row
Range("N2").Select
ActiveCell.FormulaR1C1 = "=COUNTIFS(C2,R1C,C1,RC7)"
Range("N2").Select
Selection.AutoFill Destination:=Range("N2:N" & LastRow), Type:=xlFillDefault
Range("N1:N" & LastRow).Select
Selection.AutoFill Destination:=Range("N2:" & lastcol & LastRow), Type:=xlFillDefault
End Sub
注意:但是应该避免使用 SELECT。
【讨论】:
是的,这就是我要找的。只需将 N1 更改为 N2 ,否则它将替换我在公式中使用的所有标题。有时公式计算不正确,要更新它们,我应该在计算选项之间切换> @SamadhanGaikwad - 是的,忽略了N1
。但需要not calculated correctly
的详细信息。是公式复制不正确还是公式的结果?
公式被正确复制但有时会出现问题 1. 当我们单击任何单元格时计算被中断。 2. 当有成千上万的公式时。
@SamadhanGaikwad - 尝试在代码开头添加 Application.EnableEvents = False
和 Application.ScreenUpdating = False
,然后在 ned 处将它们设置为 TRUE。
我会试试的。谢谢!以上是关于Excel vba将公式从一列自动填充到Excel中的最后一列的主要内容,如果未能解决你的问题,请参考以下文章