我正在尝试过滤工作表(通过列DL)。然后我需要在DQ列中插入一个公式,但仅用于可见单元格。我以前使用下面的代码,除了我不希望具体引用单元格DQ3。此单元格可能会更改,因此会复制并粘贴错误的公式。
Dim LastRow As Long
Dim FinalRow As Long
LastRow = Range("B" & Rows.Count).End(xlUp).Row
Range("DL2:DL" & LastRow).AutoFilter Field:=116, Criteria1:= _
"ABC"
Range("DQ3").Copy
FinalRow = Cells(Rows.Count, "B").End(xlUp).Row
Range("DQ3:DQ" & FinalRow).Select
ActiveSheet.Paste
我尝试了下面的代码,但它返回“运行时错误'1004':最后一行代码中的应用程序定义或对象定义错误:
Dim LastRow As Long
Dim FinalRow As Long
LastRow = Range("B" & Rows.Count).End(xlUp).Row
Range("DL2:DL" & LastRow).AutoFilter Field:=116, Criteria1:= _
"ABC"
FinalRow = Range("B" & Rows.Count).End(xlUp).Row
Range("DQ2:DQ" & FinalRow).FormulaR1C1 = "=(RC[-1]-RC[-2])"
我也试过这段代码:
Dim LastRow As Long
Dim FinalRow As Long
LastRow = Range("B" & Rows.Count).End(xlUp).Row
Range("DL2:DL" & LastRow).AutoFilter Field:=116, Criteria1:= _
"ABC"
FinalRow = Range("B" & Rows.Count).End(xlUp).Row
Set RNG = Range("DQ2:DQ" & FinalRow).SpecialCells(xlCellTypeVisible)
RNG = "=(RC[-1]-RC[-2])"
这样运行没有任何错误,但不会将任何数据填充到DQ列中。
有关如何摆脱错误或如何实现我的原始目标的任何建议?我不确定我想要做什么甚至可以工作,但这就是我被困住的地方。
谢谢!
答案 0 :(得分:0)
我能够使用下面的代码实现我的目标。发布以防其他人将来遇到同样的问题。
With ActiveSheet.Range("DQ2:DQ" & Cells(Rows.Count,2).End(xlUp).Row).SpecialCells(xlCellTypeVisible)
.Cells.FormulaR1C1 = "=((RC[-1]-RC[-2])"`
.Cells.FillDown`
Worksheets("WorksheetName").Columns(10).Calculate
End With
干杯!