![我正在尝试在我的 VBA 代码中插入一个函数,以便仅当另一个单元格中有数据时才填充单元格](https://linux22.com/image/1444926/%E6%88%91%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E5%9C%A8%E6%88%91%E7%9A%84%20VBA%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E6%8F%92%E5%85%A5%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E4%BE%BF%E4%BB%85%E5%BD%93%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%8D%95%E5%85%83%E6%A0%BC%E4%B8%AD%E6%9C%89%E6%95%B0%E6%8D%AE%E6%97%B6%E6%89%8D%E5%A1%AB%E5%85%85%E5%8D%95%E5%85%83%E6%A0%BC.png)
这是我的代码。当我在 C5 中输入此内容时,它会填充日期
=Updating_Date(B5)
。它应该做的是仅当 B5 中存在数据时才填充日期,当没有数据时删除日期。目前它无论如何都会显示日期。我需要写入一个条件,使其仅在 B 列中存在数据时才显示日期。
以下是我在模块中输入的内容,感谢另一位用户,并=Updating_Date(B5)
在 C5 中输入。
Function Updating_Date(dependent_cell as Range) As Date Updating_Date = Date End Function
再次,无论数据是否在 B 列中,都会显示日期。
谢谢。
答案1
我可能不太清楚您的示例,但看起来您可以使用以下单元格公式之一:
=IF(ISBLANK(B5),"",TODAY())
=IF(ISBLANK(B5),"",NOW())
=IF(ISBLANK(B5),"",Updating_Date(B5))
如果您想在 VBA 中进行检查,这里有一个选项:
Function Updating_Date(dependent_cell As Range)
If LenB(dependent_cell.Value) > 0 Then Updating_Date = Date Else Updating_Date = ""
End Function
并不是说该函数不能返回日期,否则它将返回0
空白。我删除了它并添加了一个If
条件,如果为dependent_cell
空白则返回空白。