如果空白,则单元格默认为原始公式

时间:2013-12-30 16:38:56

标签: excel vba date default formula

您好,感谢您抽出宝贵时间阅读(并回答)我的问题。

我正在尝试创建一个数据电子表格,其中一个功能是根据最初输入的日期填充一系列包含日期(添加天数,即15天,7天等)的列(让我们调用日期A,日期系列为日期B,日期C等。系列中的每个下一个日期都是从其前身添加的,因此日期B是从日期A开始的14天,日期C是从日期B开始的7天,依此类推。简单地使用= A1 + XX,其中XX是天数等等,这很简单。

困境:

  • 每个日期都必须具有手动覆盖的功能,系列中的日期可以反映该更改。换句话说,如果日期B和C之间有15天的计数,并且日期B从2014年1月1日起手动覆盖并更改为2014年1月15日,则日期C也应从2014年1月15日更改到1/30/2014
  • 如果用户改变主意并删除手动输入的日期,则应恢复使用原始公式获取日期。换句话说,如果用户只是简单地从单元格中删除数据,即。单元格为空白,现在应该返回原始公式以获取数据。
  • 我还想强调公式生成的任何日期为粗体斜体和不同颜色(即蓝色)

我设法得到颜色变化和公式全部布局,但我不知道如果输入手动数据然后删除,我怎么能带回公式。我假设IF ELSE可以通过VBA执行此操作,但不确定如何操作。

有人可以帮忙吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

不使用VBA就可以做到这一点。

您可以在放置公式的单元格(公式单元格或FC)旁边放置一个单元格(我称之为“手动覆盖单元格”或MOC)。如果用户想要输入,他可以在MOC中输入。然后,FC将包含一个isblank函数,该函数检查MOC是否包含任何值。如果有值,则该值将覆盖FC的输出。如果MOC为空,则公式将覆盖。

类似= if(isblank(MOC),(FC-1)+ xx,MOC)其中(FC -1)是系列中FC的先前值。

这有用吗?