У меня есть таблица A:G
и в ней указаны c обязательные столбцы (A
, C
, D
, F
, G
), где я выделяю ячейку и в G
написание сообщения. Столбец F
- это дата, и я также проверяю, что это <сегодня. Наконец, у меня возникла проблема с ошибкой 1004, поэтому я не могу войти в операторы For. </p>
Моя конечная цель - написать несколько сообщений об ошибках в столбце G
, но я еще не там.
Любая помощь с благодарностью?
Option Base 1
Sub ValidateArrayColumns()
Dim errormsg() As Variant
Dim Drng As Long
Dim Row As Single
Dim Column As Single
Dim tmpDate As Variant
Dim IsError As Boolean
Dim arrReq(5) As Variant
Dim i As Single
arrReq(1) = Worksheets("Sheet2").Cells(Row, 1)
arrReq(2) = Worksheets("Sheet2").Cells(Row, 3)
arrReq(3) = Worksheets("Sheet2").Cells(Row, 4)
arrReq(4) = Worksheets("Sheet2").Cells(Row, 6)
arrReq(5) = Worksheets("Sheet2").Cells(Row, 7)
Drng = Worksheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
i = 1
For Row = 2 To Drng
For Column = 1 To 7
If Column = arrReq(i) Then
For i = 1 To arrReq(5)
If Cells(Row, arrReq(i)) = "" Then 'Required fields
Cells(Row, arrReq(i)).Interior.ColorIndex = 6
IsError = True
End If
Next i
End If
Next Column
'Checks Date
tmpDate = Cells(Row, 4).Value
If tmpDate = "" Then
Cells(Row, 4).Interior.ColorIndex = 6
IsError = True
ElseIf tmpDate < Date Then
Cells(Row, 4).Interior.ColorIndex = 4
IsError = True
End If
'Writes error message
If IsError = True Then
Cells(Row, 8).Value = "Highlighted fields contain errors"
End If
IsError = False
Next Row
End Sub