VBA错误6溢出
我得到运行时错误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"
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
溢出。