【发布时间】:2016-04-29 13:11:40
【问题描述】:
我在 Excel 中有以下 VBA 代码:
Dim src As Worksheet
Dim des As Worksheet
Dim rows As Integer
Dim src_rows As Integer
Set src = Sheets("source sheet")
Set des = Sheets("destination sheet)
'Copy and Paste relevant columns
src.Activate
src_rows = Range("A1", Range("A1").End(xlDown)).Count
Range("A2:G2" & src_rows).Copy
des.Activate
Range("A2").PasteSpecial Paste:=xlPasteValues
我的目标是将源工作表中的几列(由 SQL 数据连接填充)复制到不同的工作表中。源数据可以更改,因此我使用变量 src_rows 计算当前有多少行
重复此代码以复制其他需要的列。这一切都如我所愿。但是,运行并保存后,文件大小从 5MB 左右跳到了 60MB 左右!它不可能是额外的数据,因为只有大约 10K 行。如果我删除复制的数据并重新保存,文件不会回落到 5MB。
我也尝试过使用range(__).copy destination:= ___,但这不起作用。
如果我手动复制,文件大小不会增加。如果我手动复制和录制宏并运行此宏,文件会增加。
任何建议将不胜感激。
【问题讨论】: