Excel VBA更改单元格值取决于日期旁边的

时间:2018-12-23 19:06:28

标签: excel vba excel-vba date

如果当前日期大于我要设置的单元格旁边的日期(仅使用VBA,例如,今天的日期大于单元格M15中的日期),我想将单元格值设置为特定文本。例如将“通过”写入单元格L15)。我需要为整个专栏设置它。 我必须使用VBA,因为用户可以删除单元格中的所有公式。

我没有使用VBA的经验,我总是尝试查找一些可以出于我的目的进行编辑的代码示例,但是在这种情况下,我没有找到任何示例。

1 个答案:

答案 0 :(得分:1)

业余三项赛

标题说明了一切。我对结果并不完全满意,但是应该是这样,但是首先...

问题

如果日期不大于今天还不清楚该怎么办,因此您可能需要编辑在这些情况下我选择返回的""行。

“主要参与者”是DateCalc子,它在每次重新计算工作表时都会运行,如果M列包含公式,即当您通过“手动”添加来更改数据时,该子就足够了值添加到M列的单元格中,不会触发 Calculate 事件,因此我必须添加 Change 事件,该事件将更改{列中的值{1}}。但是L事件多次触发Calculate事件,因此使用Change属性或多或少成功地抑制了该事件。

代码

此工作簿

Calculation

Sheet1

Option Explicit

Private Sub Workbook_Open()
  Sheet1.DateCalc
End Sub