【问题标题】:Xldown FunctionXldown 函数
【发布时间】:2021-10-18 23:09:11
【问题描述】:

我录制了一个宏来格式化一些数据,但是范围每两周更改一次。因此,我试图合并 xldown 函数来选择所有数据,直到最后一行。但是,我不确定如何将此功能合并到我当前的 VBA 中,任何帮助将不胜感激,因为我已经多次出现此功能。谢谢!

Range("C2").Select
ActiveCell.FormulaR1C1 = "=RC[-1]"
Range("C3").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-2]=R[-1]C[-2],R[-1]C&"",""&RC[-1],RC[-1])"
Range("C3").Select
Selection.AutoFill Destination:=Range("C3:C161")
Range("C3:C161").Select
Range("D2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(R2C1:RC[-3],RC[-3])"
Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D161")
Ran

【问题讨论】:

  • 这能回答你的问题吗? Better way to find last used row
  • 不,因为我不是要查找最后一行数据,而是选择所有数据直到最后一行
  • 您需要找到最后一行来执行此操作。您不想使用 xlDown。
  • 我在 VBA 中使用了前面的公式:Range(Selection, Selection.End(xlDown)) 并将数据复制到最后一行。替代功能是什么?

标签: excel vba


【解决方案1】:
Dim LastRow As Long
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("C2").FormulaR1C1 = "=RC[-1]"
Range("C3:C" & LastRow).FormulaR1C1 = "=IF(RC[-2]=R[-1]C[-2],R[-1]C&"",""&RC[-1],RC[-1])"
Range("D2:D" & LastRow).FormulaR1C1 = "=COUNTIF(R2C1:RC[-3],RC[-3])"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    • 2018-07-03
    • 1970-01-01
    相关资源
    最近更新 更多