我正在嘗試基於期間對行內的單元格進行求和。因此,例如在第四期我會選擇一些細胞B2,C2,D2,E2和F2。我需要這個「如果這然後總結這個」功能運行所有行數據輸入。由於我可以有超過200,000行,使用Excel公式不起作用。求和的輸出將是O列中的相應單元格。下面是我的代碼的縮寫版本(我沒有想到我需要發佈所有12個時期)。使用VBA根據特定單元格的值在一行中添加特定單元格
當我運行代碼時,我得到'範圍'object'_Global'失敗,它突出了我指定雞的範圍。如果有人知道更清潔的方式來做到這一點,我會非常感激。
Sub AddRowsBySelectedPeriodMacro()
Sheets("Blah").Select
Dim LastRow As Long, i As Long, Period As Long, Chicken As Long
LastRow = ActiveSheet.UsedRange.Rows.Count
Period = Range("P2")
For i = 2 To LastRow
If Period = "1" Then
Chicken = Cells(i, 2).Value + Cells(i, 3).Value
ElseIf Period = "2" Then
Chicken = Cells(i, 2).Value + Cells(i, 3).Value + Cells(i, 4).Value
Else: Period = "12"
Chicken = Cells(i, 2).Value + Cells(i, 3).Value + Cells(i, 4).Value + Cells(i, 5).Value + Cells(i, 6).Value + Cells(i, 7).Value + Cells(i, 8).Value + Cells(i, 9).Value + Cells(i, 10).Value + Cells(i, 11).Value + Cells(i, 12).Value + Cells(i, 13).Value + Cells(i, 14).Value
End If
Range("02:O").Value = Chicken
Next i
End Sub
謝謝斯科特,這解決了我的問題。當我說它不適用於excel時,我應該更具體一些。我正在使用大約250,000行。有了這麼多的數據,試圖在每個相應的單元格中執行公式會凍結並崩潰excel。但你的修復效果很好! –