想了个复杂绕了个圈子去完成,最后判断n=1就表示有数据,0就表示中间都是空数据
Set Grid = Technic.GetGridByName("Main")
startdate = "2016/10/01"
enddate = "2016/10/09"
dim n
Grid.LockTimeSect = 1
Grid.LockTimeSectStart =startdate
Grid.LockTimeSectEnd = enddate
n =0
'开始结束日期的差
date_num = DateDiff("d",startdate, enddate)
'轮询把日期转换成序列再转换回来,然后判断对应序列日期是否匹配。
for i=0 to date_num
date_ad = DateAdd("d", i, startdate)
num = Grid.PosByDate(date_ad)
if FormatDateTime(Grid.DateBypos(num),1) = FormatDateTime(date_ad,1) then
n=1
exit for
end if
next
application.MsgOut n
Grid.ReInitDataFormula
Sub APPLICATION_VBAEnd()
Grid.LockTimeSect = 0
End Sub