Min& amp;的Excel功能是否有原因? 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
的情况下不存在此问题,但在将其声明为日期时会出现此问题。
我试图包装(CLng(CDate())
中分配的值,例如TEST_VALUES(1, 1) = (CLnd(CDate(1))
,但这也无法解决我在此日期范围内执行分析的问题(这是否是正确的名称)变量的类型?)谢谢!
答案 0 :(得分:2)
如果您对每个数组项使用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
答案 1 :(得分:2)
这适用于一系列日期:
Sub d()
Dim a() As Variant
a = Range("a1:a5").Value2
Debug.Print CDate(Application.Max(a))
End Sub
答案 2 :(得分:0)
如果表现不重要,您可以尝试:
MsgBox WorksheetFunction.Max(TEST_VALUES)
我不确定它是否适用于数组。
答案 3 :(得分:0)
Dim TEST_VALUES() As Variant
它会起作用。
您将变量定义为日期,并为其分配整数。
答案 4 :(得分:0)
如果参数不包含数字,则MAX返回0(零)。