VBA заставляет меня использовать Выберите , чтобы иметь возможность добавить проверку данных в ячейку.
Я хотел это сделать так:
R - это диапазон, полученный как параметр в подпрограмме, поскольку он динамически берется.
With Cells(R.Row, 5).Validation
.Delete
.Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, _
Operator:=xlLessEqual, Formula1:="=TODAY()"
.IgnoreBlank = True
.InCellDropdown = False
.InputTitle = ""
.ErrorTitle = "Error"
.InputMessage = ""
.ErrorMessage = "Fecha incorrecta"
.ShowInput = False
.ShowError = True
End With
Останавливается в функции .Add, выдавая ошибку 1004.
Способ, которым он заставляет меня сделать это:
Cells(R.row, 5).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, _
Operator:=xlLessEqual, Formula1:="=TODAY()"
.IgnoreBlank = True
.InCellDropdown = False
.InputTitle = ""
.ErrorTitle = "Error"
.InputMessage = ""
.ErrorMessage = "Fecha incorrecta"
.ShowInput = False
.ShowError = True
End With