试图find一个基于值的单元格,然后使用单元格(列)位置作为我公式的一部分

所以我有这个大的电子表格,列和行总是在变化。 我想要做的是根据它的价值find一个单元格,然后在其下面粘贴一个公式。 在这种情况下,该值是标题的一部分,因此总是在同一行中。

样本数据

问题是,我试图总结所有的值单元格的左侧。 我知道从哪个单元开始,但不知道它结束的单元。 这是我的代码我做错了什么?

Sub OutageManagement() Dim rngX As Range Set rngX = Worksheets("WDCap").Range("13:13").Find("MI WD Cap. Reduction", lookat:=xlPart) rngX.Offset(2, 0).Formula = "=sum(G15:" & rngX.Column & "15)" End Sub 

奖励积分,如果你能帮助我下一步

基本上还有另外一个头我需要find我的第一个头的权利,然后input另一个公式,这是从第一个头是+ 3列,并添加到新的头是-1列的总和。

对不起,如果我没有意义,今天没有意义的东西bulot。

对于那些有兴趣的这是我最终使用的代码

 Sub WDOutageManagement() Dim rngX As Range Dim vCell1, vCell2 LastRow = Range("A" & Rows.Count).End(xlUp).Row Set rngX = Worksheets("WDCap").Range("13:13").Find("MI WD Cap. Reduction", lookat:=xlPart) 'MI vCell1 = Replace(rngX.Offset(2, -1).Address, "$", "") rngX.Offset(2, 0).Formula = "=SUM(G15:" & vCell1 & ")" Range(rngX.Offset(2, 0), rngX.Offset(LastRow - 13, 0)).FillDown 'LM vCell1 = Replace(rngX.Offset(2, 5).Address, "$", "") Set rngX = Worksheets("WDCap").Range("13:13").Find("LM WD Cap. Reduction", lookat:=xlPart) vCell2 = Replace(rngX.Offset(2, -1).Address, "$", "") rngX.Offset(2, 0).Formula = "=SUM(" & vCell1 & ":" & vCell2 & ")" Range(rngX.Offset(2, 0), rngX.Offset(LastRow - 13, 0)).FillDown End Sub 

如果该单元格是您的=SUM()公式的一部分,则您无法真正获得单元格中的值的总和,因此我更改了公式以将列G的值与当前列的左侧的1列之和相加。

然后,它查找第二个标题,并获得第一个值的总和右边第一个值的总和,第二个标题第15行的列左边的1个单元格。

你可以开始处理这个代码:

 Sub OutageManagement() Dim rngX As Range Dim vCell1, vCell2 Set rngX = Worksheets("WDCap").Range("13:13").Find("MI WD Cap. Reduction", lookat:=xlPart) vCell1 = Replace(rngX.Offset(2, -1).Address, "$", "") rngX.Offset(2, 0).Formula = "=SUM(G15:" & vCell1 & ")" vCell1 = Replace(rngX.Offset(2, 1).Address, "$", "") Set rngX = Worksheets("WDCap").Range("13:13").Find("Another Header", lookat:=xlPart) vCell2 = Replace(rngX.Offset(2, -1).Address, "$", "") rngX.Offset(2, 0).Formula = "=SUM(" & vCell1 & ":" & vCell2 & ")" End Sub 

这是我制作的一些模拟数据。 从G15到AP15,我把1.从AR15到BR15,我把2。

在这里输入图像说明

这里是运行macros后显示1的总和,即36,和2的总和,即54。

在这里输入图像说明