Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 2号线怎么了?_Excel_Vba - Fatal编程技术网

Excel 2号线怎么了?

Excel 2号线怎么了?,excel,vba,Excel,Vba,我试图求一个长度不同的范围的和,从插入这个公式的上面两行开始 当我尝试运行时,收到一条“编译错误:语法错误”消息。首先,您尝试在不告诉的情况下使用。End它的结尾是什么 ActiveCell.Offset(1, -1).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[" & End(xlUp).Row & "]C:R[-2]C)" 其次,该公式几乎总是一个循环引用,因为您希望从活动单元格上方的两行(在同一列中)合计到同一列

我试图求一个长度不同的范围的和,从插入这个公式的上面两行开始


当我尝试运行时,收到一条“编译错误:语法错误”消息。

首先,您尝试在不告诉
的情况下使用。End
它的结尾是什么

ActiveCell.Offset(1, -1).Range("A1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[" & End(xlUp).Row & "]C:R[-2]C)"
其次,该公式几乎总是一个循环引用,因为您希望从活动单元格上方的两行(在同一列中)合计到同一列中最后填充的行。这听起来像是包含了单元格本身,它是一个循环引用

若要从第二行(活动单元格列中)求和到活动单元格上方的两行,则这是合适的

With ActiveCell
    .FormulaR1C1 = "=SUM(R[" & .Parent.Cells(Rows.Count, .Column).End(xlUp).Row & "]C:R[-2]C)"
End With

如果需要从第一行开始,那么公式将以“
”=SUM(R1C:R)”开始&…

我想,既然您正在设置
ActiveCell
的值,并且在执行此操作时移动光标,那么最多只能得到不一致的结果。然而,这只是一个猜测,因为您没有告诉我们出了什么问题-这只是一种测试,看看“我们”是否知道我们在说什么吗?如果你遇到了一个特定的错误,请编辑你的帖子以包含它。这很有帮助,但似乎会将该列中的总行数添加到锚行数中。这意味着它正在创建一个大范围并在公式中引用它,而我想查找连续块并选择它作为一个范围。我nk最好是A)在尝试设置公式之前先识别行,然后使用这些特定值创建公式,B)破坏了整个目的;列中的顶部单元格的长度将与最后一个单元格的长度不同。Jeeped,我实际上想从列的顶部向下累加到活动单元格上方的两行。@Jeeped-谢谢!这在第一种情况下效果很好。然后我有两个空行和另一个连续的数据列,需要重复这个过程。问题是,上面的代码现在有一个对第二行的静态引用,而不是一个动态的CTRL+UP类型引用来选择下一个范围中的顶部单元格。同样的模式在大约10组中重复。思想?
With ActiveCell
    if .row > 3 then
        .FormulaR1C1 = "=SUM(R2C:R" & .row - 2 & "C)"
    end if
End With