gpt4 book ai didi

excel - 在 Excel VBA 中查找 Object/ArrayList 的最后一个元素

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

我试图弄清楚如何在 Object/ArrayList 中找到最后一个元素。我不断收到类型不匹配错误或“预期数组”错误。

Sub GetDates()
Dim validToDates_ArrayList As Object
Set validToDates_ArrayList = CreateObject("System.Collections.ArrayList")
.
.
.

Dim date_key As Variant
For Each date_key In validToDate_dict.Keys
validToDates_ArrayList.Add validToDate_dict(date_key)
Next date_key

validToDates_ArrayList.Sort

Dim arraylength As Integer

arraylength = ArrayLen(validToDates_ArrayList) '<--- Results in type mismatch error

Dim last_ValidToDate As Date
last_ValidToDate = validToDates_ArrayList(arraylength)


End sub

Public Function ArrayLen(arr As Variant) As Integer
ArrayLen = UBound(arr) - LBound(arr) + 1
End Function

最终目标是从类型为 Object/ArrayList 的 validToDates_ArrayList 中获取最后一个日期。我的猜测是 Object/ArrayList 与 Ubound 不兼容,但我不确定如何修复它。任何帮助将非常感激。

最佳答案

使用 .Count建议效果很好。固定代码如下:

Sub GetDates()
Dim validToDates_ArrayList As Object
Set validToDates_ArrayList = CreateObject("System.Collections.ArrayList")
.
.
.

Dim date_key As Variant
For Each date_key In validToDate_dict.Keys
validToDates_ArrayList.Add validToDate_dict(date_key)
Next date_key

validToDates_ArrayList.Sort

Dim arraylength As Integer

arraylength = validToDates_ArrayList.Count

Dim last_ValidToDate As Date
last_ValidToDate = validToDates_ArrayList(arraylength - 1)


End sub

关于excel - 在 Excel VBA 中查找 Object/ArrayList 的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61131042/

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