【发布时间】:2019-12-27 07:07:30
【问题描述】:
我有一个在打开 Excel 工作簿时运行的宏,它基本上从名为“当天”的选项卡中获取数据并将其移动到“前一天”,然后从另一个工作簿中获取数据并将其粘贴到当天(实际上使用 range.value 而不是复制/粘贴)。几天内多次测试一切正常。但是,现在它在代码的 Range.Value 部分引发溢出错误。这绝对不是大小问题,因为代码是:
PrevDay.Range("A1:Q" & ScoreCurRows).Value = CurrDay.Range("A1:Q" & ScoreCurRows).Value
其中 ScoreCurRows 被声明为 Long 并从“当前日期”工作表中提取 UsedRange,PrevDay 被定义为 Sheets(“Previous Day”),而 CurrDay 被定义为 Sheets(“Current Day”)。它通常也是 20 行以下的数据,所以即使它是一个整数,这也不应该造成问题。
有谁知道为什么这会突然引发溢出错误以及是否有我应该寻找的东西?
【问题讨论】:
-
ScoreCurRows究竟是如何定义的? -
Debug.Print ScoreCurRows崩溃时的值是多少? -
现在是 17.. set ScoreCurRows = Sheets("Current Day").UsedRange.Rows.Count...没有任何意义,即使它是整数
-
你能告诉我这是什么意思吗?
ActiveSheet.Range("A1:Q" & 17) -
您在源范围内是否有格式化为日期的单元格?或者任何有某种类型错误的单元格?尝试
.Value2,而不是右侧的.Value。
标签: vba excel runtime-error