首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vba:日期数组上的lbound错误

vba:日期数组上的lbound错误
EN

Stack Overflow用户
提问于 2018-06-15 20:42:07
回答 2查看 130关注 0票数 0

我有一个包含许多日期的"Datevarie“动态矩阵。

在例程中的某个时刻,我必须从DateVarie中提取最低值。

问题是,当我使用Lbound函数时,我总是返回值1而不是日期(例如"01/01/2018")。

我认为数组中的数据输入是正确的,因为我一步一步地调试了几次。

我如何才能解决问题而不必在工作表上报告数据并对它们进行排序?我是不是一定要用来...下一步?日期可以是2-3,也可以是几十

代码语言:javascript
复制
Type interventi
...
data as date
...

public Intervento as interventi
public rs1 as adodb.recordset    
    ...
Sub TheSubWithProblem(...)
...
dim Datevarie() as date
..
redim preserve etc..
DateVarie(k)=format(RS1!DataI,"dd/mm/yyyy") '<<<< correct
...

Intervento.data=lbound(datevarie)  '<<<< always return 1
...
EN

回答 2

Stack Overflow用户

发布于 2018-06-15 20:54:55

问题是,当我使用Lbound函数时,我总是返回值1而不是日期(例如"01/01/2018")。

LBOUNDUBOUND函数返回数组的上下限,而不是数组中的最低和最高值。

默认情况下,VBA中的数组是基数0,因此初始化后的数组的LBound通常应为0。

如果你想得到最低或最高的值,那么你需要实现你自己的算法(例如,for/next循环),或者如果这是一个一维数组,我们可以潜在地make use of an ArrayList object,它有(在其他东西中)一个Sort方法:

代码语言:javascript
复制
Set d = CreateObject("System.Collections.ArrayList")
Dim dateVarie As Variant
Dim i As Long, m As Long, day As Long

For i = 1 To 100
    m = Application.WorksheetFunction.RandBetween(1, 12)
    day = Application.WorksheetFunction.RandBetween(1, 30)
    d.Add (DateValue(DateSerial(2018, m, day)))
Next

'Preserve your un-sorted array, if needed:
ReDim dateVarie(d.Count - 1)
dateVarie = d.ToArray()

Msgbox "The first value is: " & dateVarie(0)

d.Sort  ' Sorts the arraylist:

MsgBox "The lowest value is: " & (d(0))
票数 2
EN

Stack Overflow用户

发布于 2018-06-15 20:50:51

数组从0开始。这就是为什么下面返回0的原因:

代码语言:javascript
复制
Sub TestMe()

    Dim datevarie(2) As Date
    Debug.Print LBound(datevarie)

End Sub

无论是否将值放入数组中,这都无关紧要。如果您希望数组从1开始,请在VBA中编写Option Base 1,并确保没有人看到代码,因为您可能会遇到同事/同事的问题:

代码语言:javascript
复制
Option Explicit
Option Base 1

Sub TestMe()

    Dim datevarie(2) As Date
    Debug.Print LBound(datevarie)

End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50875869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档