小编Jon*_*nas的帖子

VBA - 创建空数组

我有一个函数,它接受一个字符串数组并将每个字符串映射到一个Date实例。该函数归结为以下代码。

Private Function ParseDates(dates() As String) As Date()
  Dim res() As Date
  Dim i As Integer

  If UBound(dates) >= 0 Then
    ReDim res(UBound(dates)) As Date
  End If


  For i = LBound(dates) To UBound(dates)
    res(i) = #01/01/2000#
  Next i
  ParseDates = res
End Function
Run Code Online (Sandbox Code Playgroud)

只要参数datesnonempty ,该函数就可以正常工作。当dates为空时res不给定维度。因此,如果在循环中枚举结果,则返回值不可枚举,导致此函数的用户崩溃。

parsedDates = ParseDates(input) 
For i = 1 To UBound(parsedDates) ' Suscription out of range
  ...
Run Code Online (Sandbox Code Playgroud)

当日期为空时,如何实例化并返回一个空数组?

如果你打电话,Split("",".")你会收到一个类型为 的对象String(0 to -1)。我需要我的函数返回一个类型的对象,Date(0 …

arrays vba

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

vba ×1