VBA – 添加新列然后COPY单元格,然后SUM单元格

我正在尝试创build一个新的列,将多个值合并到一个列中。 下面的代码在我需要的地方创build一个新列没有任何问题。

然而,在每个新创build的列中,我希望我的代码将同一行中的前5个单元求和。 它目前工作,但是是静态的(在下面的例子中新的列是G,它总结B:F)。 我想我需要一些内置的Offset函数来允许它的范围是dynamic的(前5列),因为它遍历整个工作表。

此外,我很喜欢它从第1-9行的列头信息复制到新列的左侧,并将新的列中的单词“组合”放在第10行。

Office 2013

任何帮助这个努力将是伟大的。 谢谢

Dim currentColumn As Integer Dim columnHeading As String For currentColumn = Sheets("SLTData").UsedRange.Columns.Count To 2 Step -1 columnHeading = Sheets("SLTData").UsedRange.Cells(10, currentColumn).Value 'CHECK WHETHER TO KEEP THE COLUMN Select Case columnHeading Case "PD.G0100", "PD.G0500", "PD.G0800", "PD.G0900", "PD.G1000", "PD.G0300", "PD.G0400", "PD.G0150", "PD.G0600" 'Do nothing Case Else If InStr(1, _ Sheets("SLTData").UsedRange.Cells(10, currentColumn).Value, _ "Homer", vbBinaryCompare) = 0 Then Sheets("SLTData").Columns(currentColumn).Insert For i = 11 To Cells(Rows.Count, "B").End(xlUp).Row Range("G" & i) = WorksheetFunction.Sum(Range("B" & i), Range("C" & i), Range("D" & i), Range("E" & i), Range("F" & i)) Next i End If End Select Next 

而不是Range("G" & i)使用Cells(row, column) (行和列都是整数)。 总结它剩下的5个单元格: Cells(row, column) = WorksheetFunction.Sum(Range(Cells(row, column-5), Cells(row, column-1)))