gpt4 book ai didi

vba - 使用 VBA 复制大文件大小的范围

转载 作者:行者123 更新时间:2023-12-02 18:03:06 24 4
gpt4 key购买 nike

我有一个例程,通过生成对旧工作表的单元格引用来复制工作表。我的问题是,当我在大小为 280KB 的工作簿中的三张工作表上运行此例程时,它会膨胀到 80MB。如果我复制并粘贴工作表值以删除公式,工作簿将保持相同的大小。如果我删除工作表并保存,它就会恢复到原始大小。我在 VBA 处理内存的方式中是否遗漏了导致此问题的某些内容?我已经尝试在例程结束时将所有变量设置为空。

Public Sub CopySheetFormulas(inputSheet As Worksheet, outputSheet As Worksheet)
Dim rowCounter As Long
Dim columnCounter As Long
Dim maxRow As Long
Dim maxColumn As Long

maxColumn = inputSheet.Cells.Find(What:="*", After:=inputSheet.Cells(1, 1), LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False).Column

Debug.Print "Max Column: " & maxColumn

maxRow = inputSheet.Cells.Find(What:="*", After:=inputSheet.Cells(1, 1), LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row

Debug.Print "Max Row: " & maxRow

inputSheet.Range("A1").Resize(maxRow, maxColumn).Copy

With outputSheet
.Activate
.Range("A1").Select
.Paste Link:=True
End With

End Sub

最佳答案

如果要减小文件大小,则需要从工作表中删除额外的行或列,然后保存它。文件大小将会减小。

例如下面的快照,以前我有 22 条记录,虽然我删除了一些记录,但空单元格仍然影响文件大小。怎么知道呢,CTRL + End,它停止的单元格会告诉你。

删除那些空行或空列将减小文件大小。

enter image description here

关于vba - 使用 VBA 复制大文件大小的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34079353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com