Excel 将行插入相对位置后添加和的宏

Excel 将行插入相对位置后添加和的宏,excel,vba,Excel,Vba,我是excel的新手。我花了好几天的时间才弄明白如何创建一个按钮宏来插入相对于按钮位置的新行。我现在可以用我的宏来做这件事。然而,我想做的是在刚刚创建的新行中,预先填充一个求和公式。请参阅屏幕截图以获得更好的说明 在这个特定的例子中,它会在单元格C10中创建一个sum公式of=sum(E10:G10),但我不希望它特别指向那些点,我需要它是相对的。你能帮帮我吗,我是一个完美无缺的人 这是我的插入宏: Sub INSERT_NEW_ROW() ActiveSheet.Shapes(Applicat

我是excel的新手。我花了好几天的时间才弄明白如何创建一个按钮宏来插入相对于按钮位置的新行。我现在可以用我的宏来做这件事。然而,我想做的是在刚刚创建的新行中,预先填充一个求和公式。请参阅屏幕截图以获得更好的说明

在这个特定的例子中,它会在单元格C10中创建一个sum公式of=sum(E10:G10),但我不希望它特别指向那些点,我需要它是相对的。你能帮帮我吗,我是一个完美无缺的人

这是我的插入宏:

Sub INSERT_NEW_ROW()
ActiveSheet.Shapes(Application.Caller).TopLeftCell.EntireRow.Select
Selection.INSERT Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub

我甚至不确定这是否可能,但如果可能的话,那就太酷了。

你能自己解决这个问题,真是太好了。干得好!我的直觉反应是使用按钮的偏移量,它看起来像是用于相对参考:

Sub INSERT_NEW_ROW()
ActiveSheet.Shapes(Application.Caller).TopLeftCell.EntireRow.Select
Selection.INSERT Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

ActiveSheet.Shapes(Application.Caller).TopLeftCell.Activate
ActiveCell.Offset(-1,1).Formula = "=SUM(E" & ActiveCell.Row - 1 & ":G" & ActiveCell.Row - 1 &")"
End Sub
有很多方法可以使它更具动态性,但只要您的工作表每次都采用相同的格式,就应该可以


这样做的目的是将按钮覆盖区域的左上角单元格设置为一个范围。然后在上面的行(偏移量中的-1)和右边的一列(偏移量中的1)中填充公式。由于该按钮在工作表中比我们要引用的按钮大一行,因此请使用
ActiveCell.row-1
填写公式以获得正确的行。

是否需要将上面的3行相加?或者行数会有所不同吗?它将对用户生成的E10->G10中的列数求和。宏的目的是创建新行并预填充总和。因此,用户只需输入E10、F10、G10的数据,它就可以在C10中自动求和。这有意义吗?嗨,谢谢你的帮助!当我尝试添加您的代码时,出现了424运行时错误,需要对象。它不喜欢设置rng行。请查看这些更改是否有帮助。我通常不喜欢依赖活性细胞,但当我测试它时,它起了作用。如果你需要更多的帮助,请告诉我。嗨,我有一个新问题!我被要求把这个excel表格带到google表格中,表格使用javascript!我只知道基本的javascript,我完全不知道如何将这种定制的东西引入到工作表中。你不会也知道javascript吧?=)我有一点JavaScript的经验,但我从来没有在谷歌工作表中使用过它。我现在忙得不可开交,但如果我有时间的话,我会去看看的。如果你产生了一些代码,你想让我看看,张贴一个新的问题,并链接到这里。如果你把它作为一个新问题发布,而没有得到一个快速的答案,我会感到惊讶。