|
楼主 |
发表于 2012-10-31 15:44
|
显示全部楼层
本帖最后由 gwfzh 于 2012-10-31 16:06 编辑
hwc2ycy 发表于 2012-10-31 07:05
maxRecordCount = Sheets("Report").[A65535].End(xlUp).Row '怎么也出现下标越界的错误?
ar = Sheet ...
谢谢“hwc2ycy”老师的解答,在你的帮助下第二个问题解决了!第一个问题按照你的要求更改后,最后运行结束出现了下标越界的错误?请老师继续帮忙!
Sub checkRecords()
Dim ii, maxRecordCount As Integer
Dim cellValue As String
Dim isHasCheckError As Boolean
Dim startDate, endDate As Date
Dim ar '(), br()
'Workbooks("Report.csv").Worksheets("sheet1").Activate
maxRecordCount = Sheets("Report").[A65535].End(xlUp).Row '
ar = Sheets("Report").Range("r4:z" & maxRecordCount) '
With Sheets("Report")
For ii = 1 To maxRecordCount
If (ar(ii, 7) = "甲肝") Or (ar(ii, 7) = "丙肝") Or (ar(ii, 7) = "戊肝") Or (ar(ii, 7) = "细菌性痢疾") Then '运行结束后出现了“下标越界”的错误?
If ar(ii, 3) <> "实验室诊断病例" Then Sheet1.Cells(ii, COL_ILLTYPE).Interior.Color = 65535
MsgBox "第 " & ii & " 行,疾病编号为甲肝、丙肝、戊肝、细菌性痢疾,但病例分类不为 实验室诊断病例"
End If
' 判断时间间隔大于等于24小时,
If Sheets("Report").Cells(ii, COL_EXAMINE).Value <> "" And Sheets("Report").Cells(ii, COL_REPORT).Value <> "" Then
'startDate = CDate( Sheets("Report").Cells(ii, COL_EXAMINE).Value)
'endDate = CDate( Sheets("Report").Cells(ii, COL_REPORT).Value)
startDate = CDate(Left(Sheets("Report").Cells(ii + 3, COL_EXAMINE), Len(Sheets("Report").Cells(ii + 3, COL_EXAMINE)) - 1))
endDate = CDate(Left(Sheets("Report").Cells(ii + 3, COL_REPORT), Len(Sheets("Report").Cells(ii + 3, COL_REPORT)) - 1))
'startDate = CDate(Left(ar(ii, 1), Len(ar(ii, 1)) - 1))
'endDate = CDate(Left(ar(ii, 9), Len(ar(ii, 7)) - 1))
'End If
If endDate - startDate >= 1 Then '怎么出现“运行时错误的3:类型不匹配”的错误?
Sheets("Report").Cells(ii + 3, COL_EXAMINE).Interior.Color = 5287936
Sheets("Report").Cells(ii + 3, COL_REPORT).Interior.Color = 5287936
MsgBox "第 " & ii & " 行,时间间隔大于或等于“24小时”"
End If
End If
Next ii
End With
'End If
End Sub
|
|