我有一个带有日期列的工作表。该列中的数据将根据工作表的名称进行验证。例如,在名为" 2016年1月"的工作表上仅限2016年1月1日至1月31日期间的日期。
每月一次,用户在工作簿中复制模板并为当月命名。
我很想知道是否有一种验证错误的自动方式告诉用户类似"您必须在[月] 1和[月]之间输入[LAST_DAY_OF_MONTH],[年]和#34;
我可以使用VBA触发器来检查工作表名称的更改并在那时设置验证参数,但我很想知道我是否可以在没有VBA的情况下执行此操作。
我尝试在"错误消息中输入公式"字段(数据验证>错误警报),但显示公式字面上给我一个这样的错误:
$ A $ 1
继续?
我有Excel 2016。
答案 0 :(得分:2)
这是一个非VBA方法......
当用户输入的日期不在当前工作表的月份时,使用条件格式设置fill
单元格红色(或任何“可怕颜色”)。
这个例子在下个月设置非常容易......只需更改日期即可。我的下面是C2单元格。
如何-IT-作品:强>
=IF([FirstDate]="",FALSE,OR(EOMONTH([Month],0)<[FirstDate],EOMONTH([Month],-1)>=[FirstDate]))
注 - 用上面步骤1中的ABSOLUTE $$引用单元替换[Month]。将[FirstDate]替换为上面步骤2中的RELATIVE引用单元格。Format
按钮,将invalid
日期设为red fill
格式。