[英]Inserting a SUM function that references ActiveCell.Offset values (VBA)
我需要将sum函数输入到引用ActiveCell.Offset值的单元格中。 有没有办法在VBA中做到这一点? 这是到目前为止的代码:
For Each cell In Rec
If cell.Value = "Y" And cell.Offset(0, 1).Value = "Y" Then
cell.Activate
Selection.Clear
ActiveCell.Offset(0, 1).Clear
ActiveCell.Offset(0, 2).Value = ActiveCell.Offset(0, 2).Value - (ActiveCell.Offset(0, 3).Value + ActiveCell.Offset(0, 6).Value)
ActiveCell.Offset(0, 6).Clear
ActiveCell.Offset(0, 7).Clear
ActiveCell.Offset(0, 3).Clear
ActiveCell.Offset(0, 2).Formula = "=SUM(ActiveCell.Offset(0,4):ActiveCell.Offset(0,5))"
Range("A" & ActiveCell.Row & ":S" & ActiveCell.Row).Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
Range("A" & ActiveCell.Row & ":S" & ActiveCell.Row).Delete
End If
Next
For Each cell In Rec
With cell
If .Value = "Y" And .Offset(0, 1).Value = "Y" Then
.Clear
.Offset(0, 1).Clear
.Offset(0, 2).Value = .Offset(0, 2).Value - (.Offset(0, 3).Value + .Offset(0, 6).Value)
.Offset(0, 6).Clear
.Offset(0, 7).Clear
.Offset(0, 3).Clear
.Offset(0, 2).Formula = "=SUM(" & .Offset(0, 4).Resize(, 2).Address(1, 1) & ")"
ActiveSheet.Range("A" & .row & ":S" & A.row).Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
ActiveSheet.Range("A" & ActiveCell.row & ":S" & ActiveCell.row).Delete
End If
End With
Next
请注意,您要在.Offset(0, 2)
中设置一个值,然后在同一行中插入几行公式。 您可能使用了错误的单元格引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.