VBA错误6溢出

VBA错误6溢出,vba,excel,runtime-error,Vba,Excel,Runtime Error,我得到运行时错误6:通过下面的代码溢出 n = (.Cells(Rows.Count, "A").End(xlUp).Row) FillP = Array("D", "E", "F", "H", "I", "J", "M", "O", "P", "AR", "AS", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BQ", "BR", "BS", "BT", "BU", "BV", "BW", "BX", "BY", "CB", "CC"

我得到运行时错误6:通过下面的代码溢出

n = (.Cells(Rows.Count, "A").End(xlUp).Row)   
FillP = Array("D", "E", "F", "H", "I", "J", "M", "O", "P", "AR", "AS", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BQ", "BR", "BS", "BT", "BU", "BV", "BW", "BX", "BY", "CB", "CC", "CD")

'fill blanks with na
For i = 2 To n
    For j = LBound(FillP) To UBound(FillP)
        If Trim(.Range(FillP(j) & i)) = "" Then
            .Range(FillP(j) & i) = "na"
        End If
    Next j
Next i
我有Excel2010,我还没有声明上面的任何变量(测试后会做)。只是试着用“na”来填充特定列中的空白。几乎相同的代码出现在我的sub中,但运行良好。不知道我哪里出错了


提前感谢您的帮助

错误通常发生在哪里?仅从检查结果来看,您不需要在单元格和范围前添加点。当您尝试为变量赋值时,您只能在with语句中执行该操作,溢出结果超出了数据类型的限制。 我担心您可能会声明I、j或n为整数


此外,在cells&range之前,您也不需要点运算符。

尝试了一下,恐怕没有什么不同。如果它有助于n=2650,那么哪一行会抛出错误?当时变量的值是多少?那就可以了。您需要在当前if/then之前添加另一个if/then来测试错误<代码>如果不是IsError(.Range(FillP(j)&i)),则@ScottCraner-A
变量
将自动升级为
,而不是作为
整数溢出。事实上,它将自动升级为一个
Double
,而不是作为
Long
溢出。