如EXCEL表格数据,表格中的161125、161130表示的是需完成的截止日期,我要实现功能的是统计后续161120前需完成的工作,并做出汇总。
我先把这些数据导入了ProjData(i, j)数组,这个没问题。前面定义的ProjData(1 To 500, 1 To 50) As Variant,
再选择出其中第5列中,即ProjData(i, 5)中日期大于161120的数据,导出其行数,代码如下:
Private Sub Command2_Click()
Dim SubTotal As Integer, PDRow(1 To 500, 1 To 500) As Variant
SubTotal = 0
For i = 1 To 26
If ProjData(i, 5) >= 161120 Then
SubTotal = SubTotal + 1
PDRow(SubTotal, 5) = i
Debug.Print PDRow(SubTotal, 5)
End If
Next i
End Sub
为何我 Debug.Print 出来的数据,对于标识完成或未完成的,也统计出来了?
我先把这些数据导入了ProjData(i, j)数组,这个没问题。前面定义的ProjData(1 To 500, 1 To 50) As Variant,
再选择出其中第5列中,即ProjData(i, 5)中日期大于161120的数据,导出其行数,代码如下:
Private Sub Command2_Click()
Dim SubTotal As Integer, PDRow(1 To 500, 1 To 500) As Variant
SubTotal = 0
For i = 1 To 26
If ProjData(i, 5) >= 161120 Then
SubTotal = SubTotal + 1
PDRow(SubTotal, 5) = i
Debug.Print PDRow(SubTotal, 5)
End If
Next i
End Sub
为何我 Debug.Print 出来的数据,对于标识完成或未完成的,也统计出来了?
你自己看吧
这个是数字比较
未完成是字符串,你类型不对怎么比较?
If ProjData(i, 5) >= 161120 Then改成
If ProjData(i, 5) >= 161120 and instr(ProjData(i, 5),"完成")<0 Then
看看
If Val(ProjData(i, 5)) >= 161120 Then
要吗与字符串进行比较:
If ProjData(i, 5) >= "161120“ Then
你难道没有看到,不仅仅是标识完成或未完成的,而且小于161120的也存在。