【发布时间】:2016-10-28 17:44:05
【问题描述】:
我收到运行时错误 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
我有 Excel 2010,我还没有声明任何上述变量(将在测试后声明)。只是试图用“na”填充特定列中的空白。几乎相同的代码出现在我的 sub 中,但它运行良好。不知道我哪里出错了。
提前感谢您的帮助!
【问题讨论】:
-
试一试,恐怕没什么区别。如果有帮助 n = 2650
-
哪一行报错?
-
当时变量的值是多少?
-
那么就可以了。您需要在当前的 if/then 之前添加另一个 if/then 以测试错误。
IF Not IsError(.Range(FillP(j) & i)) Then -
@ScottCraner -
Variant会默默地将自己提升为Long,而不是作为Integer溢出。事实上,它会默默地将自己提升为Double,而不是溢出为Long。
标签: vba excel runtime-error