Я новичок в vba, в настоящее время я работаю, и моему боссу нужно создать макрос excel.Excel 2013 сравнивает даты в разных строках с использованием макроса «Ошибка времени выполнения 13, несоответствие типа»
Функция макросъемки:
- сравнить данные даты, даты с датой End Start.
- auto напоминают сотрудникам, работающим с контрактом, устаревшим при открытии рабочего листа.
- если работники контракта устарели, выделите детали сотрудников.
Так что теперь я застреваю до «Ошибка времени выполнения 13, несоответствие типа».
Ниже приведена моя часть трещин, разница между >>> < < <.
Private Sub Worksheet_Activate()
Dim rngA As Range
Dim rngD As Range
With Worksheets("Sheet1")
For Each rngA In .Range(.Range("A1"), .Cells(.Rows.Count, "A").End(xlUp))
For Each rngD In .Range(.Range("D1"), .Cells(.Rows.Count, "D").End(xlUp))
>>> If rngA.Value("A1:xlUp") >= rngD.Value("D1:xlUp") Then <<<
MsgBox "Sheet 1 Row " & rngA.Row & " expiring"
rngC.Interior.ColorIndex = 3
rngC.Font.ColorIndex = 2
rngC.Font.Bold = True
End If
Next rngD
Next rngA
End With
End Sub
'Если rngA.Value> = rngD.Value затем' – Sam
Почему бы вам не использовать условное форматирование? Также отмечая, что ваш код смотрит на столбец A и столбец D в той же строке (что отличается от того, что вы объясняете в своем вопросе). – brettdj
Спасибо за ответ, но я не понимаю вашего предложения .... @@ – Han