在插入行后尝试通过VBA使用自动填充时,复制的公式不正确的原因可能是由于公式中引用的单元格范围没有正确地调整。当插入行后,原来的公式中的单元格引用可能会发生偏移,导致复制的公式不正确。
为了解决这个问题,可以使用VBA中的Offset
函数来调整公式中的单元格引用。Offset
函数可以根据指定的行数和列数来偏移单元格引用。以下是一个示例代码:
Sub AutoFillFormula()
Dim ws As Worksheet
Dim lastRow As Long
' 设置要操作的工作表
Set ws = ThisWorkbook.Worksheets("Sheet1")
' 获取最后一行的行号
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' 在插入行后复制公式并自动填充
ws.Cells(lastRow + 1, "A").Formula = ws.Cells(lastRow, "A").Formula
ws.Cells(lastRow + 1, "A").AutoFill Destination:=ws.Range(ws.Cells(lastRow + 1, "A"), ws.Cells(lastRow + 1, "A").Offset(0, 1))
End Sub
上述代码中,首先通过Offset
函数来调整公式中的单元格引用,然后使用AutoFill
方法将公式自动填充到插入的行中。
关于VBA的更多信息和学习资源,可以参考腾讯云的产品介绍页面:VBA开发。
请注意,以上答案仅供参考,具体的解决方法可能因具体情况而异。在实际应用中,建议根据具体需求和情况进行调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云