macros在四天后清除表单值

我需要您的帮助,在Excel文件中创buildmacros,从今天的date(“2015年6月2日”)四天后清除名为“Sheet1”的表中的所有值,并保存它。 因此,一旦用户在第五天打开Excel文件,表格将是空白的。

清除数据的代码是:

Sheet1.Cells.Clear 

但我的问题是如何在四天后清除数据,并保存更改与用户无法看到任何数据在第五天。

这将为你工作。 DateDiff是一个很好的函数,可以返回您select的单位(年,月,日,小时…)中两个date之间的差异,也可以通过FileDateTime获取文件的date

 Sub Workbook_Open() If DateDiff("d", FileDateTime(ThisWorkbook.FullName), Now) >= 4 Then Sheet1.Cells.Clear ThisWorkbook.Save End If End Sub 

我还没有机会testing它,但我可以build议这样的事情:

 Private Sub Workbook_Open() Dim currDate As String, closeDate As String, fileDate As String Dim oFS As Object, sFile As String currDate = Date closeDate = Date(Year(currDate); Month(currDate); Day(currDate)-4) sFile = Application.ActiveWorkbook.Fullname Set oFS = CreateObject("Scripting.FileSystemObject") fileDate = oFS.GetFile(sFile).Datelastmodified If fileDate <= closeDate Then ' Change argument passed to Sheets to whatever sheet you want to kill off ActiveWorkbook.Sheets(1)Cells.Clear End If End Sub 

从这里借用了一些代码: https : //stackoverflow.com/a/10823572/4604845