Добрый день, подскажите пожалуйста как в макросе прописать чтобы он стирал не правильно набранную дату?
Если коряво то как-то так:
Код
If Cells(1, 2) = Error Then ' тут проверяется не ошибочно ли ввел оператор дату (например 13,04,2015)
Target.Cells = Empty ' если ошибочно то дата стирается
Call Макрос3 ' и запускается бокс с пояснением
Cells(3, 1) = "OK" ' а если дата правильно ввели то в ячейке (3, 1) появляется ОК
End If
Вариант. Но лучше через календарь, как Kuzmich, предложил
Код
Sub Data_()
With Sheets("Лист1")
lRow = .Cells(Rows.Count, 2).End(xlUp).Row
For Each cl In .Range("B1:B" & lRow).Cells
With cl
If .NumberFormat <> "m/d/yyyy" Then
.Value = Empty
MsgBox "В ячейке " & .Address & " не дата!!!" 'Call Макрос3
Else
.Offset(, 1) = "Ок"
End If
End With
Next
End With
End Sub
Меню Данные - Проверка данных - Дата. В полях Начальная дата и Конечная дата ввести то, что заведомо перекроет реальный диапазон (например, 1.1.1900 и 1.1.2100)