VBA - 添加新列,然后复制单元格,然后对单元格求和

VBA - Add new Column then COPY cells and then SUM cells

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

但是,在每个新创建的列中,我希望我的代码对同一行中的前 5 个单元格求和。它目前有效,但是是静态的(在下面的示例中新列是 G,它求和 B:F)。我想我需要内置某种偏移函数,以允许它求和的范围是动态的(前 5 列),因为它循环遍历整个 sheet.

此外,我希望它能将第 1-9 行的 Header 信息从新列左侧的列复制到新列中,然后放置单词 "Combo"进入新列的第 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)))