Excel 使SUMIF函数中的条件与活动单元格相关

Excel 使SUMIF函数中的条件与活动单元格相关,excel,vba,Excel,Vba,在D22中,我需要输入相同的SUMIF公式,但条件是'ActiveCell.Offset(-1,-1')。如何创建此宏?我有近570行和类似的数据,需要将日期压缩成一行 谢谢 我希望宏能够输入sumif公式,将范围引用为列$C,标准引用为$ActiveCell.Offset$(-1,-1),总和范围引用为活动单元格的列,因此D,但不会被锁定,因为总和范围将更改。声明并将范围变量设置为所需的各种范围,然后根据这些变量.Address属性构建公式。使用Address的各种参数设置所需的绝对/相对寻址

在D22中,我需要输入相同的SUMIF公式,但条件是'ActiveCell.Offset(-1,-1')。如何创建此宏?我有近570行和类似的数据,需要将日期压缩成一行

谢谢


我希望宏能够输入sumif公式,将范围引用为列$C,标准引用为
$ActiveCell.Offset$(-1,-1)
,总和范围引用为活动单元格的列,因此D,但不会被锁定,因为总和范围将更改。

声明并将
范围
变量设置为所需的各种范围,然后根据这些变量
.Address
属性构建公式。使用
Address
的各种参数设置所需的绝对/相对寻址和外部引用

Sub EnterSum()
    Dim rCritera As Range
    Dim rCriteriaRange As Range
    Dim rSum As Range
    Dim rFormula As Range


    Set rCriteriaRange = ActiveSheet.Columns(3)
    Set rCritera = ActiveCell.Offset(-1, -1)
    Set rSum = ActiveCell.EntireColumn

    Set rFormula = ActiveCell 'Q doesn't specify this cell, so adjust as needed

    rFormula.Formula = "=SumIf(" & rCriteriaRange.Address(1, 1) & "," & rCritera.Address(1, 1) & "," & rSum.Address(0, 0) & ")"

End Sub

示例:如果ActiveCell是
D5
,那么结果是
=SUMIF($C:$C,$C$4,D:D)

你能用你使用的确切VBA回答你的问题吗?嗨,BigBen,照片有帮助吗?谢谢chris neilsen,照片有帮助吗?是相同的代码吗?我试着输入你提供的内容,但似乎没有work@kays23它似乎不起作用,作为错误描述是没有用的。什么不起作用_到底发生了什么?如果选择单元格
D12
并运行宏,您将在图像中获得准确的结果。我复制并粘贴了VBA代码,并将活动单元格更改为ActiveCell.select。这导致运行错误和“object required”(需要对象)消息,其中“Set rFormula=ActiveCell”行为高位。解决这个问题的办法是什么?谢谢你的帮助help@key23解决办法是什么?不要这样做-按原样复制代码。添加
。选择
不是必需的,显然是有害的。克里斯·尼尔森非常感谢你,伙计!非常感谢。