在EXCEL/VBA中设置默认日期
我有Excel/VBA应用程序,它根据提供的开始和结束日期运行查询。开始和结束日期在Excel工作表本身(而不是表格)中提供。 要求是将默认开始日期设置为月1日,结束日期设置为昨天日期,但用户应该能够覆盖这些日期 我可以使用公式设置默认的开始和结束日期,但是如果我们覆盖它并输入其他日期,那么保存在其中的公式就消失了。在EXCEL/VBA中设置默认日期,excel,vba,default,Excel,Vba,Default,我有Excel/VBA应用程序,它根据提供的开始和结束日期运行查询。开始和结束日期在Excel工作表本身(而不是表格)中提供。 要求是将默认开始日期设置为月1日,结束日期设置为昨天日期,但用户应该能够覆盖这些日期 我可以使用公式设置默认的开始和结束日期,但是如果我们覆盖它并输入其他日期,那么保存在其中的公式就消失了。 请指导如何处理此问题。我通常通过使用另一列或单元格来解决此问题,并且我通过一些IF公式来控制输出,其中用户覆盖具有较高的优先级,而公式默认值具有较低的优先级。比如: IF(User
请指导如何处理此问题。我通常通过使用另一列或单元格来解决此问题,并且我通过一些IF公式来控制输出,其中用户覆盖具有较高的优先级,而公式默认值具有较低的优先级。比如:
IF(UserOverride“”,UserOverride,FormulaDefault)
编辑:您可以将此代码附加到某些按钮/快捷方式
Public Sub resetDefaults()
ThisWorkbook.Sheets(1).Cells(5, 5).Formula = "=TODAY()-1"
End Sub
是否有一个“重置”宏,用公式覆盖任何手动输入?你到底被困在哪里?有密码吗?@Mat,刚刚看到你的评论!我是VBA新手,您能告诉我在哪里编写重置宏以及如何启动它吗?我想这样写:如果工作表(“Sheet2”).Range(“C3”).Value=”“,那么工作表(“Sheet2”).Range(“C3”).Value=TODAY()-1结束如果我想在表单加载时,我们可以设置默认日期。不确定这是如何在VBA中完成的。我正在尝试以下操作,但不起作用:如果工作表(“Sheet2”).Range(“C3”).Value=”“,则工作表(“Sheet2”).Range(“C3”).Value=TODAY()-1 End If-End-Sub Excel/VBA中是否有与表单加载等效的表单加载?如果不想使用表单,为什么要提到
表单加载
?您的意思是“工作簿打开时如何运行宏”?您可以在谷歌上搜索该问题,并在10秒内得到答案。@SilverFish您可以在工作表中添加一个名为“恢复默认日期”的按钮,无论单元格中有什么内容,都可以使用默认值重新输入公式。