gpt4 book ai didi

vba - 添加方法VBA上的运行时错误

转载 作者:行者123 更新时间:2023-12-04 22:03:16 25 4
gpt4 key购买 nike

我的函数的意图在文档字符串中进行了解释。但是,当我运行它时,我得到一个“运行时错误'91':对象变量或未设置 block 变量”,并突出显示一行代码,如下所示。我找不到这个问题的根源,特别是因为我对 VBA 还很陌生。任何帮助将不胜感激!

'==============================|Range_Collection FUNCTION|=============================='
' Given a collection and a range, add each value in that range to the collection, except
' for False values.
Function Range_Collection(col As Collection, rng As Range) As Collection

Dim Val As Variant
For Each Val In rng
If Not Val.Value = False Then
col.Add Val.Value ;************** THIS CODE IS HIGHLIGHTED************
End If
Next Val
Set Range_Collection = col

End Function

最佳答案

假设您的工作表如下所示

enter image description here

这是我运行代码时得到的

enter image description here

除了我的评论,看到这个

语法是 col.add "Item","Key"。 key 必须是唯一的。如果您有重复的值,那么按照我的建议使用 OERN 或使用唯一键。

Sub Sample()
Dim c As New Collection

For Each itm In Range_Collection(c, Range("A1:A5"))
Debug.Print itm
Next
End Sub
Function Range_Collection(col As Collection, rng As Range) As Collection

Dim rVal As Variant

For Each rVal In rng
If Not rVal.Value = False Then
On Error Resume Next
col.Add rVal.Value, CStr(rVal.Value)
On Error GoTo 0
End If
Next rVal

Set Range_Collection = col
End Function

关于vba - 添加方法VBA上的运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30353589/

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