excel - Excel VBA 宏 - 类范围的复制方法失败
问题描述
我正在编写一个宏,它应该将整个行从某个工作表(“Global_IB”)复制到同一个 Excel 文件中的另一个工作表(“插值”)。我需要复制和粘贴信息以利用数据,而无需触及原始数据库中的任何内容。
在下面的代码中,我基本上继续找到我的数据库的最后一行:LR。然后我继续复制“Global_IB”的前三列(没有标题行),并将它们粘贴到 A、B 和 C 行的“插值”中。对于我感兴趣的其他行,依此类推。
只要“Global_IB”具有合理数量的行,此代码就可以完美运行。
当我尝试使用整个文件(52 000 行)时,出现错误:“类范围的复制方法失败”。
我已经读到这可能与 excel 将它可以一次复制的行数限制为 2516 的事实有关,但有趣的是,当我使用 3000 行等时它对我有用。
我很想知道你是否知道问题是什么以及我如何解决它。也许是一个循环,一次复制和粘贴有限数量的行。如果是,您将如何调整代码?我自己似乎无法做到这一点。
非常感谢您的帮助!
Private Sub copieIB()
Dim LR As Long
LR = Sheets("Global_IB").Cells(Rows.Count, 3).End(xlUp).Row
Application.Calculation = xlManual
'Copy in Interpolated Value
Sheets("Interpolated_Value").Range("A2").Resize(LR - 1, 3).Value = Sheets("Global_IB").Cells(2, 4).Resize(LR - 1, 3).Value
Sheets("Interpolated_Value").Range("D2").Resize(LR - 1, 1).Value = Sheets("Global_IB").Cells(2, 8).Resize(LR - 1, 1).Value
Sheets("Interpolated_Value").Range("E2").Resize(LR - 1, 1).Value = Sheets("Global_IB").Cells(2, 10).Resize(LR - 1, 1).Value
Sheets("Interpolated_Value").Range("F2").Resize(LR - 1, 1).Value = Sheets("Global_IB").Cells(2, 14).Resize(LR - 1, 1).Value
Sheets("Interpolated_Value").Range("G2").Resize(LR - 1, 1).Value = Sheets("Global_IB").Cells(2, 18).Resize(LR - 1, 1).Value
Application.Calculation = xlAutomatic
End Sub
解决方案
推荐阅读
- git - 致命:不是 git 存储库(或任何父目录):.git on rake task on Heroku
- python - Python Pandas 处理 308 请求
- regex - 仅从字符串中提取捕获组
- python - 课堂上直接打印——python
- r - 从 dplyr 数据返回中总结
- pandas - Pandas.dropna 方法不能删除 Nan 值行(或列)
- laravel - Laravel Eloquent 条件不起作用的地方
- json - jq将键数组与值数组合并
- python - 过滤二维数组/列表并替换python中的值
- javascript - Javascript循环和对象创建