gpt4 book ai didi

excel - 内存不足错误 VBA - Excel

转载 作者:行者123 更新时间:2023-12-04 20:17:16 26 4
gpt4 key购买 nike

我在以下代码块中遇到内存不足错误。有没有人看到一个明显的原因?

编辑代码以显示整个 block 。最终这将遍历一个目录,但在工作之前我只会查看一个文件。

Sub Get_BT_Data()
Dim fNameAndPath, data As Variant
Dim j, c, r As Integer

fNameAndPath = Application.GetOpenFilename(FileFilter:="Excel Files (*.XLSM), *.XLSM", Title:="Select File To Be Opened")
If fNameAndPath = False Then Exit Sub

Workbooks.Open Filename:=fNameAndPath

Sheets("Summary For CDP").Activate
j = Range("A2").Value
c = Range("B2").Value
data = Range("DataRay")

ThisWorkbook.Activate

r = Cells(7, 4).End(xlDown).Row

For i = 7 To r
If Cells(i, 4).Value = j Then
If Cells(i, 4).Offset(0, 1).Value = c Then
Cells(i, 4).Offset(0, 3).Value = data(9, 20)
Cells(i, 4).Offset(0, 4).Value = data(22, 22)
Cells(i, 4).Offset(0, 7).Value = data(2, 20)
Cells(i, 4).Offset(0, 8).Value = data(15, 22)
Cells(i, 4).Offset(0, 10).Value = data(5, 20)
Cells(i, 4).Offset(0, 11).Value = data(18, 22)
Cells(i, 4).Offset(0, 13).Value = data(3, 22)
Cells(i, 4).Offset(0, 14).Value = data(16, 22)
Cells(i, 4).Offset(0, 16).Value = data(4, 20) + data(6, 20)
Cells(i, 4).Offset(0, 17).Value = data(17, 22) + data(19, 22)
Cells(i, 4).Offset(0, 19).Value = data(7, 20)
Cells(i, 4).Offset(0, 20).Value = data(20, 22)
Else
If i = r Then
Cells(7, 4).End(xlDown).Offset(-2, 0).EntireRow.Insert
Else
End If
End If
Else
End If
Next i

End Sub

最佳答案

尝试检查 r 的值是

变化r = Cells(7, 4).End(xlDown).Row到下面可能会有所帮助。

r = Cells(Rows.count, 4).End(xlUp).Row

这条线也一样
Cells(7, 4).End(xlDown).Offset(-2, 0).EntireRow.Insert

使用 XlDown可能很危险,因为如果列中有空格,或者如果第 7 行下方没有数据,则可能会丢失值,那么它将返回工作表底部的行。我怀疑这可能发生在这种情况下。

当您尝试查找最后一行数据时,通常最好从工作表底部开始。

还,

你应该看看你的 "DataRay"有多大范围是,尝试将其替换为适当的范围而不是命名范围,

更改 Range("DataRay")类似于 Range("A1:E500")
如果您想检查 DataRay 的大小range 那么您可以在代码开头使用以下内容进行调试
MsgBox Range("DataRay").Rows.Count & " Rows " & Range("DataRay").Columns.Count & " Columns"

关于excel - 内存不足错误 VBA - Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19798162/

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