大家好。
我需要你的帮助。
我想将公式应用于我刚刚添加的新行。我有一行代码用于完整的数据集,但我不确定如何修改它,或者是否有更好的方法来完成它。
我使用这一行代码离开了我的联盟,我理解它正在做什么,但我没有写它。
Sheets("Closed Loop").Range(varPastePos).Offset(0, 2).Resize(ActiveSheet.UsedRange.Rows.Count - 1, columnsize:=1).FormulaR1C1 = "My Formula"
varPastePos
是粘贴新数据的位置,在本例中为$F$28
有什么想法吗?
答案 0 :(得分:0)
.UsedRange
还会包含格式化的空白单元格,因此找不到最后一行使用它是不可靠的。
Set ws = Sheets("Closed Loop")
Set cell1 = ws.Range(varPastePos) ' F28
Set cell2 = cell1.End(xlDown) ' F32 ? the last cell with data below F28. Similar to clicking on F28 and pressing Ctrl + down
Set rngF = ws.Range(cell1, cell2) ' F28:F32
Set rngH = rngF.Offset(, 2) ' H28:H32
rngH.FormulaR1C1 = "My Formula"
答案 1 :(得分:0)
使用Range().FillDown
扩展预先存在的公式。
Dim lastRow As Long
lastRow = Range("F" & Rows.Count).End(xlUp).Row
Range("A2", "A" & lastRow).FillDown
您可以一次FillDown
多个列:
Range("A2", "D" & lastRow).FillDown
你可以像这样在一行中完成所有这些:
Range("A2", Range("F" & Rows.Count).End(xlUp)).FillDown