Excel 的 Min 和 Max 函数对于以下代码不起作用,是否有原因?
Sub minmaxtest()
Dim TEST_VALUES() As Date
ReDim TEST_VALUES(1 To 5, 1 To 1)
TEST_VALUES(1, 1) = 1
TEST_VALUES(2, 1) = 2
TEST_VALUES(3, 1) = 3
TEST_VALUES(4, 1) = 4
TEST_VALUES(5, 1) = 5
MsgBox Application.Max(TEST_VALUES)
End Sub
在 Dim TEST_VALUES() As Integer
的情况下不存在此问题,但在将其声明为 Date 时会出现此问题。
我尝试包装 (CLng(CDate())
中分配的值,例如 TEST_VALUES(1, 1) = (CLnd(CDate(1))
但这也不能解决我在此日期范围上执行分析的问题(这是此类变量的正确名称吗?)谢谢!
最佳答案
如果您在每个数组项上使用 CDate
,您将得到 5
作为 Max
:
Sub minmaxtest()
Dim TEST_VALUES() As Integer
ReDim TEST_VALUES(1 To 5, 1 To 1)
TEST_VALUES(1, 1) = CDate(1)
TEST_VALUES(2, 1) = CDate(2)
TEST_VALUES(3, 1) = CDate(3)
TEST_VALUES(4, 1) = CDate(4)
TEST_VALUES(5, 1) = CDate(5)
MsgBox Application.Max(TEST_VALUES)
End Sub
关于VBA - 日期的最小值/最大值(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39016448/