【问题标题】:Excel vba to autofill formulae from a column to last column in excelExcel vba将公式从一列自动填充到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 列自动填充到最后一个(使用过的)列。

【问题讨论】:

  • 遍历列并填充第一个单元格,最后一次性使用自动填充

标签: vba excel


【解决方案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 = FalseApplication.ScreenUpdating = False,然后在 ned 处将它们设置为 TRUE。
  • 我会试试的。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-14
相关资源
最近更新 更多