У меня есть следующий фрагмент VBA кода в 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
Этот код повторяется, чтобы скопировать другие необходимые столбцы. Все работает так, как я хочу. Однако после запуска и сохранения размер файла скачков от 5 МБ до 60 МБ! Это не могут быть дополнительные данные, так как есть только около 10K строк. И если я удалю скопированные данные и заново сохраню файл, он не вернется к 5 МБ.
Я также пробовал использовать range(__).copy destination:= ___
, но это не работает. Если я копирую вручную, размер файла не увеличивается. Если я вручную копирую и записываю макрос и запускаю этот макрос, файл увеличивается.
Любые предложения были бы очень признательны.
Спасибо, заметил, что на других, но пропустили его на этом. Incorporated UsedRange сейчас, искал что-то лучше, чем то, что я сделал. благодаря – pokeairguy