从Office 2007更新到Office 2010后,这些宏在Excel 2007中完美运行但在2010年无效。具体来说,我在此行收到错误:
y = Worksheets("Raw Data").Range("A2").End(xlDown).Row
热错误是“错误6溢出”。我已经意识到这是由于Excel选择excel中创建溢出的行的最大数量(1048576)。这些行中只有975个数据。在2007年,它只选择了包含数据的行。 我想知道是什么导致了从2007年到2010年代码处理方式的变化?有没有其他人经历过这种情况?
答案 0 :(得分:1)
确保y variable
(以及引用行号的其他变量)声明为Long
,如:
Dim y As Long
我猜你的变量目前是Integer
。
我猜可能在此期间您可能已将文件从.xls
迁移到.xlsm
,这可能会导致一些问题。
答案 1 :(得分:0)
尝试以下
With Worksheets("Raw Data")
y = .Range("A" & .Rows.Count).End(xlUp).Row
End With