编译错误:总和循环中的类型不匹配,excel VBA

编译错误:总和循环中的类型不匹配,excel VBA,excel,vba,for-loop,compiler-errors,type-mismatch,Excel,Vba,For Loop,Compiler Errors,Type Mismatch,每当我运行未注释的代码段时,就会出现编译错误:类型不匹配,Excel会突出显示EIP(p,t)前面的+号 然而,当我运行代码的注释部分时,我没有得到这个错误。我找不到两者之间的差异,无法解释错误的差异。我错过了什么 提前谢谢 您需要正确声明变量,如果您得到类型不匹配,请将这行代码从:Sum=SumEIP+EIP(p,t)更改为:Sum=Sum+EIP(p,t)。您好,您能补充一点细节吗?我不确定当您得到类型不匹配时,变量有什么内容?IP被声明为变量,因此可以包含任何内容,而EIP是整数,SUME

每当我运行未注释的代码段时,就会出现编译错误:类型不匹配,Excel会突出显示EIP(p,t)前面的+号

然而,当我运行代码的注释部分时,我没有得到这个错误。我找不到两者之间的差异,无法解释错误的差异。我错过了什么


提前谢谢

您需要正确声明变量,如果您得到类型不匹配,请将这行代码从:Sum=SumEIP+EIP(p,t)更改为:Sum=Sum+EIP(p,t)。您好,您能补充一点细节吗?我不确定当您得到类型不匹配时,变量有什么内容?IP被声明为变量,因此可以包含任何内容,而EIP是整数,SUMEIP是长的。如果这些都应该是整数,那么就把它们都声明为长。声明的
I
p
t
在哪里?如果类型不匹配,就需要正确声明变量。将这行代码从:Sum=SumEIP+EIP(p,t)更改为:Sum=Sum+EIP(p,t),我不确定我是否了解当您得到类型不匹配时,变量有什么内容?IP被声明为变量,因此可以包含任何内容,而EIP是整数,SUMEIP是长的。如果这些都应该是整数,则将所有声明为Long。在哪里声明了
I
p
t
   Dim SumEIP(1 To 708, 1 To 200) As Long
   Dim EIP(1 To 708, 1 To 200) As Integer
   Dim IP(1 To 708, 1 To 200) As Variant
   Dim LeadTime(1 To 708) As Integer
   Dim SR(1 To 708, 1 To 200) As Integer
   Dim CumReceipt(1 To 708, 1 To 200) As Integer  


Sub test()

  For i = 1 To 708

  LeadTime(i) = 5

  Next i

                For i = 1 To 708
                    For t = 1 To 60
                        For p = 1 To 2
                                Sum = SumEIP + EIP(p, t)
                        Next p
                                SumEIP(i, t) = Sum
                                Sum = 0
                                EIP(i, t) = IP(i, t) + SumEIP(i, t)

                         ''For C = 1 To LeadTime(i) - 1
                         ''   SumReceipts = SumReceipts + SR(i, t + C)
                         ''Next C
                         ''       CumReceipt(i, t) = SumReceipts
                         ''       SumReceipts = 0

                    Next t
                Next i
 End Sub