我正在尝试创建一个新列,将多个值合并到一个列中。下面的代码在我需要的地方创建一个新列没有问题。
然而,在每个新创建的列中,我希望我的代码在同一行中对前5个单元格求和。它目前有效,但是是静态的(以下示例中的新列为G,它与B:F相加)。我认为我需要内置一些Offset函数,以允许它总和的Range是动态的(前5列),因为它遍历整个工作表。
此外,我希望将第1-9行中的标题信息从新列的列复制到新列,并将单词“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
答案 0 :(得分:1)
而不是Range("G" & i)
使用Cells(row, column)
(行和列都是整数)。总结它剩下的5个单元格:Cells(row, column) = WorksheetFunction.Sum(Range(Cells(row, column-5), Cells(row, column-1)))