gpt4 book ai didi

excel - VBA 集合检索数据但不显示值

转载 作者:行者123 更新时间:2023-12-04 20:53:27 25 4
gpt4 key购买 nike

我的问题是关于收藏的。

在此代码中,我在当前 excel 的文件夹中打开彼此的 excel,并将第一列的所有数据检索到 Collection 中。

然后,我尝试将收集到的值插入到当前文件中。

当我使用 coll.count 时,计数是正确的,所以我相信数据正在被有效地收集。

我以前使用过“Sheet.cells.value=coll(i)”的形式并且效果很好,但在这种情况下它没有。

出现错误 1004 - 该行中的“运行时错误 '1004':应用程序定义的或对象定义的错误”。

你对为什么有任何想法吗?
有什么推荐吗?

谢谢!

Option Explicit
Sub LoopThroughFolder()
Application.ScreenUpdating = False

'State variables
Dim Path As String 'path of folder
Dim DataBase As String ' current excel file
Dim ERow As Long 'last row of current excel file
Dim coll As New Collection 'collection of data
Dim iRow As Long 'rows of other excel files
Dim n As Long 'total records of other excel files
Dim i As Integer


'Name of files to open
Path = Dir(ActiveWorkbook.Path & "\")
DataBase = ActiveWorkbook.Name

'For each file
Do While Path <> DataBase

'Open, retrieve data, close
Workbooks.Open (ActiveWorkbook.Path & "\" & Path)
n = Application.WorksheetFunction.CountA(Range("A:A"))
For iRow = 2 To n
coll.Add Cells(iRow, 1)
Next iRow
ActiveWorkbook.Close

'Next file
Path = Dir
Loop

'Now place the values in my current excel file (here is the problem)(?)
ERow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To coll.Count
ActiveSheet.Cells(ERow + i, 1).Value = coll(i)
Next i

'End
Set coll = Nothing
Application.ScreenUpdating = True
End Sub

最佳答案

代替:

 ActiveSheet.Cells(ERow + i, 1).Value = coll(i)

和:
 ActiveSheet.Cells(ERow + i, 1).Value = coll.Item(i)

(可能还有其他问题)

关于excel - VBA 集合检索数据但不显示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52956916/

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