我试图在对工作表进行更改后对数据进行求和。包含数据的列具有文本第1行中超出堆栈空间和对象范围错误的值
我第一次测试,我得到
运行时错误“28”:堆栈空间不足
第二一次我测试了一下,我得到
运行时错误“-2147417848(80010108)”:对象 “范围”的方法“价值”失败,然后Excel的崩溃。
Sub Worksheet_Change(ByVal Target As Range)
Dim LastCol As Integer
Dim NumProjects As Integer
Dim i As Integer
With ActiveSheet
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
End With
NumProjects = LastCol - 5
For i = 1 To NumProjects
Range("E44").Offset(0, i).Value = WorksheetFunction.Sum(Range("E2").Offset(0, i), Range("E43").Offset(0, i))
Next i
End Sub
你有多少列?尝试声明'NumProjects和LastCol只要'。 – findwindow
它看起来像你的'For'循环正在做:F44 = F2 + F43; G44 = G2 + G43; ...达到NumProjects。如果这就是你的意图,那么在第2或第43行有非数字数据可能会导致问题。顺便说一句,不要调用'WorksheetFunction.Sum',而只需添加两个数字:'.Value = Range(“E2”)。Offset(0,i)+ Range(“E43”)。Offset(0,i )' – xidgel
@xidgel - 我认为总和是公式语法错误。 OP可能想要求和范围(“E2:E43”)的范围,偏移量(0,i)'。 – Jeeped