Excel是否允许公式/变量错误警报进行数据验证?

时间:2016-09-01 16:05:00

标签: excel excel-formula

我有一个带有日期列的工作表。该列中的数据将根据工作表的名称进行验证。例如,在名为" 2016年1月"的工作表上仅限2016年1月1日至1月31日期间的日期。

每月一次,用户在工作簿中复制模板并为当月命名。

我很想知道是否有一种验证错误的自动方式告诉用户类似"您必须在[月] 1和[月]之间输入[LAST_DAY_OF_MONTH],[年]和#34;

我可以使用VBA触发器来检查工作表名称的更改并在那时设置验证参数,但我很想知道我是否可以在没有VBA的情况下执行此操作。

我尝试在"错误消息中输入公式"字段(数据验证>错误警报),但显示公式字面上给我一个这样的错误:

$ A $ 1

继续?

我有Excel 2016。

1 个答案:

答案 0 :(得分:2)

这是一个非VBA方法......

当用户输入的日期不在当前工作表的月份时,使用条件格式设置fill单元格红色(或任何“可怕颜色”)。

这个例子在下个月设置非常容易......只需更改日期即可。我的下面是C2单元格。

如何-IT-作品:

  1. 月 - 查找显示当前工作表月份的单元格。我的下面是C2。
  2. FirstDate - 查找用户输入FIRST日期的第一个单元格。我的是C6以下。
  3. 选择用户将在用户输入日期的最后一个单元格中输入FIRST日期的FIRST单元格。我的是C6:C9。
  4. 在Excel功能区上,导航至主页>条件格式>新规则
  5. 选择“使用公式确定要格式化的单元格”
  6. 输入以下公式:=IF([FirstDate]="",FALSE,OR(EOMONTH([Month],0)<[FirstDate],EOMONTH([Month],-1)>=[FirstDate])) 注 - 用上面步骤1中的ABSOLUTE $$引用单元替换[Month]。将[FirstDate]替换为上面步骤2中的RELATIVE引用单元格。
  7. 点击Format按钮,将invalid日期设为red fill格式。
  8. 单击“确定”并进行测试。 enter image description here